提問:誰能告訴老師,上面這個定義[x ,y ]各是幾? 也就是說是幾行幾列的數組?答案:4行2列[4,2]
這樣的賦值老師這樣寫就比較直觀了:
int[,] array2D = new int[,] { { 1, 2 },
{ 3, 4 },
{ 5, 6 },
{ 7, 8 } };這樣就看容易看出每個位的值了。
int[, ,] array3D = new int[,,] { { { 1, 2, 3 } }, { { 4, 5, 6 } } };
聲明一個數組變量但先不將其初始化
int[,] array5;
也可以給數組元素賦值,例如:
array5 = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; // OK
//array5 = {{1,2}, {3,4}, {5,6}, {7,8}}; // Error
array5[2, 1] = 25;
以上就是我們這一節要學習的知識點,我再將本節的重點強調一 下,同時復習。
索引是訪問數組成員的依據,值范圍是基於從0開始,到數組容量(元素個數、數組長度)-1結束不能超出或等於。
數組的容量是固定的,如果定義時沒有賦值,一定要定義數組個數,同時元素值是默認的。
數組對象存在很多類型,主要依其 維度結構進行分類。
數組是引用類型,根據地址傳遞值。
例如: int[] a ={ 1, 2, 3 };//定義一個a數組,元素值分別是1,2 ,3
int[] b=a;//定義一個b數組等於a。這是b在線程裡存放的是a元素在托管堆中存放的地址,也就是說b也指向a在堆中的元素值,不 會為b另開存儲空間,int [] b=new int[3];這種定義b的情況除外,new實際上就是給b在托管堆中另開了一塊位置,與a就無關了。
b [0] = 7;//改變b的0索引的元素值,看a數組中元素的值變化。
Console.WriteLine(a[0]);
Console.WriteLine(a[1]);
Console.WriteLine(a[2]);
結果改變是7,2,3。這就說明了如果有兩個數組間是相等的關系,改變一個數組的值,另一個也 會有變化。
下一節我們來學習交錯數組以及對數組數據的操作。