位置:首頁 > 高級語言 > C#教學 > C#多維數組

C#多維數組

C#允許多維數組。多維數組也稱為矩形陣列。

可以聲明一個二維的字符串作為數組:

string [,] names;

或者,3維整型變量的數組:

int [ , , ] m;

二維數組:

多維數組的最簡單的形式是2維數組。一個2維數組是,在本質上是一維陣列的列表。

一個2二維數組可被看作是一個表,該表將具有x行數和列y個。下麵是一個2維數組,其中包含3行和第4列:

Two Dimensional Arrays in C#

因此,在數組中每個元素由如下形式的元素名稱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