c 中的陣列

2021-07-24 12:12:11 字數 2299 閱讀 1295

array是所有陣列的基類。所以用普通方法建立的陣列可以使用array建立的陣列例項上的所有方法和屬性。

建立:陣列的length可以用變數賦值,但是在賦值之前這個變數必須初始化。

一維 int arr = new int [length];

array arr = array.createinstance(typeof(string),length)

高維int [,] arr = new int 【length1,length2......】

array arr = array.createinstance(typeof(string),length1,length2...)

遍歷foreach(int i in arr)

}一維或高維都可以用乙個foreach來解決。

如果用for的話就不行了。

設定和獲取指定位置的值

for (int i = 0; i < arr.getlength(0); i++) 獲取指定維的長度。也可以用system.array的屬性length,這是所有圍度的總長度。

用一維陣列封裝索引給高維陣列的指定位置賦值

string[, , , , , ,] myarr7 = new string[5, 5, 5, 5, 5, 5, 5];

// 建立乙個一維的陣列,提供7維陣列索引的封裝。

//當然也可以不封裝,只要你喜歡。myarr7.setvalue("one-two-three-zero-one-two-three",1, 2, 3, 0, 1, 2, 3 );

int myindices = new int[7] ;

// 賦值

myarr7.setvalue("one-two-three-zero-one-two-three", myindices);

//獲取值

console.writeline("[1,2,3,0,1,2,3]: ", myarr7.getvalue(myindices));//myindices是index的複數

console.writeline(arr.rank);//獲取陣列的秩

// array.sort(arr);只可以用於一維

// array.reverse(arr);只可以用於一維

// array.indexof(arr, 23);

高維中:得到指定圍度的最大

索引和最小

索引,該方法不受為null或0的影響。

array my3dintarray = array.createinstance(typeof(int32), 2, 3, 4);

for (int i = my3dintarray.getlowerbound(0); i <= my3dintarray.getupperbound(0); i++)//因為獲取是索引,所以是<=

for (int j = my3dintarray.getlowerbound(1); j <= my3dintarray.getupperbound(1); j++)

for (int k = my3dintarray.getlowerbound(2); k <= my3dintarray.getupperbound(2); k++)

//用getlength(維數)實現同樣的功能for (int i = 0; i < my3dintarray.getlength(0); i++)//因為getlength(0)獲取指定維數的長度.,所以是<

for (int j = 0; j < my3dintarray.getlength(1); j++)

for (int k = 0; k < my3dintarray.getlength(2); k++)

轉換convert()系列

複製到另乙個陣列

copy()系列

全部清空

clear()

潛轉殖clone() 僅複製陣列的元素,不會複製這些元素所指向的物件(如果這些元素時引用型別的話)

重置大小

resize(),實際上是先建立乙個陣列,再進行複製。

獲取型別

gettype()

這些都是array物件的冰山一角。

總之,我們應用物件導向的思想去思考array應該有哪些功能。然後再去查詢msdn。

而且,以後再用到陣列時,不要用普通的方法建立了,應該用array來建立。因為c#中,一切都是物件。

C 中的陣列和C 中陣列的區別

c 中陣列是引用型別,c 定義整型陣列方式是 int intarray 或int intarray new int 10 而c 中定義整型陣列的方式是 int intarray 或int intarray new int 10 c 中的陣列可以是一維的也可以是多維的,同樣也支援矩陣和參差不齊的陣列。...

C 中的陣列和C 中陣列的區別

c 中陣列是引用型別,c 定義整型陣列方式是 int intarray 或int intarray new int 而c 中定義整型陣列的方式是 int intarray 或int intarray new int c 中的陣列可以是一維的也可以是多維的,同樣也支援矩陣和參差不齊的陣列。注意 定義多...

C 中的陣列

陣列是一種類似於標準庫型別vector的復合型別。它是大小固定且只能儲存相同型別物件的容器。vector中物件的型別可以是vector,類似的,陣列中物件的型別也可以是陣列,這就形成了多維陣列。即 多維陣列是陣列的陣列。陣列的宣告方式如下 type name d type表示陣列中儲存的資料型別那個...