C#多維數組
C#允許多維數組。多維數組也稱為矩形陣列。
可以聲明一個二維的字符串作為數組:
string [,] names;
或者,3維整型變量的數組:
int [ , , ] m;
二維數組:
多維數組的最簡單的形式是2維數組。一個2維數組是,在本質上是一維陣列的列表。
一個2二維數組可被看作是一個表,該表將具有x行數和列y個。下麵是一個2維數組,其中包含3行和第4列:
因此,在數組中每個元素由如下形式的元素名稱a[i,j],其中一個是數組的名稱標識,i和j是唯一標識一個每個元素的下標。
初始化二維數組
多維數組可以通過對每一行指定加括號的值進行初始化。以下是3行的數組,每行有4列。
int [,] a = int [3,4] = { {0, 1, 2, 3} , /* initializers for row indexed by 0 */ {4, 5, 6, 7} , /* initializers for row indexed by 1 */ {8, 9, 10, 11} /* initializers for row indexed by 2 */ };
訪問二維數組元素
在2維數組的元素是通過使用下標,即行索引和數組列索引訪問。例如:
int val = a[2,3];
上述聲明將采取第4單元從數組的第3排。可以在上圖中驗證。讓下麵程序我們查詢在這裡使用嵌套循環來處理一個二維數組:
using System; namespace ArrayApplication { class MyArray { static void Main(string[] args) { /* an array with 5 rows and 2 columns*/ int[,] a = new int[5, 2] {{0,0}, {1,2}, {2,4}, {3,6}, {4,8} }; int i, j; /* output each array element's value */ for (i = 0; i < 5; i++) { for (j = 0; j < 2; j++) { Console.WriteLine("a[{0},{1}] = {2}", i, j, a[i,j]); } } Console.ReadKey(); } } }
讓我們編譯和運行上麵的程序,這將產生以下結果:
a[0,0]: 0 a[0,1]: 0 a[1,0]: 1 a[1,1]: 2 a[2,0]: 2 a[2,1]: 4 a[3,0]: 3 a[3,1]: 6 a[4,0]: 4 a[4,1]: 8