【C#入門】多次元配列について分かりやすいサンプルコードで徹底解説
多次元配列につい紹介していきます。
多次元配列
C#には、2次元、3次元というように、1次元以上の配列も存在し、それらはまとめて「多次元配列」と呼ばれます。
多次元配列にはさらに「四角い多次元配列」と「ジャグ配列」が存在します。単に多次元配列と言う場合には、各次元の大きさが一定の「四角い多次元配列」を指します。ジャグ配列は、配列の配列です。
今回は四角い多次元配列について紹介します。
● 四角い多次元配列のイメージ
● ジャグ配列のイメージ
2次元配列
一般に多次元配列と言った場合には四角い多次元配列を指し、その中でも1番使われるのは2次元配列です。2次元配列は次の構文のように[] をカンマ(,)で区切り、縦の要素数と横の要素数を記述して宣言し、インスタンスを生成します。
● 2次元配列の宣言とインスタンスの生成
1 |
データ型[,] 配列名 = new データ型[縦の要素数,横の要素数]; |
2次元配列は概念上、縦横の表の形をしています。もちろんこれは概念上の話であり、メモリに縦横はありません。
2次元配列にアクセスする場合も[]をカンマ(,)で区切り、縦横の添え字を指定 します。
コンストラクターは、クラスからインスタンスをnew演算子で生成するときに 呼び出されます。
1 |
配列名[縦の添え字,横の添え字] |
● 2次元配列のアクセス
2次元配列を初期化するには{}で2重に囲み、初期値を順に記述してください。
2次元配列の初期化
1 2 3 4 5 |
型名[,] 配列名 = new 型名[,] { {値,値,....},{値,値,....), ...}; または 型名[,] 配列名 = {{値,値,....},{値,値,....), ...}; |
● 2次元配列の初期化
3次元以上の配列
3次元以上の配列 3次元以上の配列の場合は、[]の中をカンマで次元分区切るだけで、基本的には2次元配列と同じように処理をします。
多次元配列の全要素を繰り返し扱うには、GetLengthメソッドを使うと便利です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
class Program { static void Main(string[] args) { int[,] n3 = new int[2, 3, 4]; int m = 1; for (int i = 0; i < n3.GetLength(0); i++) // -2を取得 { for (int j = 0; j < n3GetLength(1); j++) // 3を取得 { for (int k = 0; k < n3.GetLength(2); k++) // 4を取得 { n3[i, j, k] = m++; } } } } } |
● 3次元配列のアクセス

壷井
株式会社flyhawkの壷井です。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。