English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C#は最大32次元を持つ多次元配列です。カンマを追加することで多次元配列を宣言できます。例えば、[、]は二次元配列、[、,]は三次元配列、[、,、]は四次元配列などです。したがって、カンマの数は次元の数に等しいです-1。
int[, ,] arr2d; // 二次元配列 int[, ,] arr3d; // 三次元配列 int[, , ,] arr4d ; // 四次元配列 int[, , , ,] arr5d; // 五次元配列
二次元配列について説明しましょう。以下に二次元配列を初期化します。
int[, ,] arr2d = new int[3,2]{ {1, 2}, {3, 4}, {5, 6} }; //または int[, ,] arr2d = { {1, 2}, {3, 4}, {5, 6} };
上記の二次元配列の例では、[3、2の中で行と列の数を定義します。第一列は行数を示し、第二列は列数を定義します。以下の図は行と列に分けられた二次元配列を示しています。
二次元配列の以下のアクセス値です。
int[, ,] arr2d = new int[3,2]{ {1, 2}, {3, 4}, {5, 6} }; arr2d[0, 0]; //返します1 arr2d[0, 1]; //返します2 arr2d[1, 0]; //返します3 arr2d[1, 1]; //返します4 arr2d[2, 0]; //返します5 arr2d[2, 1]; //返します6 //arr2d[3, 0]; //実行時エラーが発生します、なぜなら第四行がないからです
上記の例では、二次元配列の値は行と列のインデックス番号[行インデックス、列インデックス]でアクセスできます。したがって、[0, 0]は第一行と第一列[1, 1の値を取得し、第二行と第二列の値を返します。
今、三次元配列について説明しましょう。以下に三次元配列を宣言し初期化します。
int[, ,] arr3d1 = new int[1, 2, 2]{ { { 1, 2}, { 3, 4} } }; int[, ,] arr3d2 = new int[2, 2, 2]{ { {1, 2}, {3, 4} }, { {5, 6}, {7, 8} } }; int[, ,] arr3d3 = new int[2, 2, 3]{ { { 1, 2, 3}, {4, 5, 6} }, { { 7, 8, 9}, {10, 11, 12} } }; arr3d2[0, 0, 0]; // 返します1 arr3d2[0, 0, 1]; // 返します2 arr3d2[0, 1, 0]; // 返します3 arr3d2[0, 1, 1]; // 返します4 arr3d2[1, 0, 0]; // 返します5 arr3d2[1, 0, 1]; // 返します6 arr3d2[1, 1, 0]; // 返します7 arr3d2[1, 1, 1]; // 返します8
上記の例で見たように、arr3d1の[1,2,2を含む二次元配列[2,2の中の一行を指定します。arr3d2指定された次元[2,2,2、二次元配列[2,2の二行です。したがって、第一列は内部の二次元配列の行数を示します。
次に、以下の4次元配列を見てみましょう。
int[,,,] arr4d1 = new int[1, 1, 2, 2]{ { { { 1, 2}, { 3, 4} } } }; arr4d1[0, 0, 0, 0]; // 返します1 arr4d1[0, 0, 0, 1]; // 返します2 arr4d1[0, 0, 1, 0]; // 返します3 arr4d1[0, 0, 1, 1]; // 返します4 int[,,,] arr4d2 = new int[1, 2, 2, 2]{ { { {1, 2}, {3, 4} }, { {5, 6}, {7, 8} } } }; arr4d2[0, 0, 0, 0]; // 返します1 arr4d2[0, 0, 0, 1]; // 返します2 arr4d2[0, 0, 1, 0]; // 返します3 arr4d2[0, 0, 1, 1]; // 返します4 arr4d2[0, 1, 0, 0]; // 返します5 arr4d2[0, 1, 0, 1]; // 返します6 arr4d2[0, 1, 1, 0]; // 返します7 arr4d2[0, 1, 1, 1]; // 返します8
上記の例では、4次元配列arr4d1指定[1、1、2、2、これはそれが3次元配列の行を含んでいることを示します。
同じ方法で、C# で次元配列の宣言と初期化ができます5次元、6次元配列および最大32次元配列。