
C#の2次元配列の使い方について紹介していきます。
配列自体を知らない人は先に配列とはを参考にしてみてください。
2次元配列とは
2次元配列は、縦と横に配列を設定し、データを格納していくものです。。。少しわかりにくいですね。
例としては、Excelの表をイメージするとわかりやすいかと思います。
Excelのように行(縦)と列(横)のある配列のことを2次元配列といいます。
2次元配列の使い方
今回はこんな2次元配列を作成してみましょう。
C#での2次元配列の最も基本的な書き方はこのようになります。
int[,] = new int[縦要素,横要素]
なので今回の例では、こんな感じで書きます。
縦要素と横要素が逆にならないように気を付けましょう。
int[,] array2 = new int[3, 2];
array2[0, 0] = 1;
array2[0, 1] = 2;
array2[1, 0] = 3;
array2[1, 1] = 4;
array2[2, 0] = 5;
array2[2, 1] = 6;
2次元配列 初期化
先ほどとは別の書き方をもう一つ紹介しておきます。
int[,] array2 = new int[,]{ { 1, 2 },{ 3, 4 },{ 5, 6 } };
こんな書き方もできます。
書き方は違いますが、「array2」には同じ内容が代入されています。
行もしくは列の要素数 取得方法
最後に、2次元配列の行の要素数と列の要素数の取得方法を紹介しておきます。
要素数を取得するには、GetLengthをしようします。
2次元配列.GetLength(0) //列(縦)の要素数
2次元配列.GetLength(1) //行(横)の要素数
これでそれぞれの要素数を取得することができます。
サンプルソース
サンプルソースを記載しておきます。
int[,] array2 = new int[3, 2];
array2[0, 0] = 1;
array2[0, 1] = 2;
array2[1, 0] = 3;
array2[1, 1] = 4;
array2[2, 0] = 5;
array2[2, 1] = 6;
//int[,] array2 = new int[,]{ { 1, 2 },{ 3, 4 },{ 5, 6 } };
for (int y = 0; y < array2.GetLength(0); y++)
{
for(int x = 0; x < array2.GetLength(1); x++)
{
Console.Write(array2[y, x]);
}
Console.WriteLine();
}
まとめ
今回は2次元配列の使い方について紹介しました。
実際にプログラムを作成するときは、C#の時は、ListもしくはDataTableを利用することが多いですが、
最も基本的な考え方になるので、理解しておきましょう。