C#の2次元配列のサンプルです。
目次
サンプル | 2次元配列のイメージ |
2次元配列のサンプル | |
2次元配列を初期化して設定 | |
for文で取得する | |
ループで2次元配列を作成 | |
ジャグ配列を作成 |
2次元配列のイメージ
最初のかっこ内の数値は行で、次の数値は列を表します。
2次元配列のサンプル
using System;
class Test1
{
static void Main()
{
string[,] arr1 = new string[2, 3];
arr1[0, 0] = "赤";
arr1[0, 1] = "黄";
arr1[0, 2] = "青";
arr1[1, 0] = "緑";
arr1[1, 1] = "白";
arr1[1, 2] = "黒";
Console.WriteLine(arr1.Length);// 6
foreach (var str1 in arr1)
{
Console.WriteLine(str1);//赤 黄 青 緑 白 黒が出力される
}
}
}
6行目は要素数を指定し7行目以降で値を設定しています。
14行目のlengthは、2次元配列の値の数を取得します。
2次元配列を初期化して設定
2つの配列を配列にセットしています。
using System;
class Test1
{
static void Main()
{
string[,] arr1 = new string[2, 3]
{
{"赤", "黄", "青"},
{"緑", "白", "黒"}
};
Console.WriteLine(arr1[0, 0]);// 赤
Console.WriteLine(arr1[0, 1]);// 黄
Console.WriteLine(arr1[0, 2]);// 青
Console.WriteLine(arr1[1, 0]);// 緑
Console.WriteLine(arr1[1, 1]);// 白
Console.WriteLine(arr1[1, 2]);// 黒
}
}
6行目は、2次元配列です。2行で値が3つあります。
for文で取得する
using System;
class Test1
{
static void Main()
{
string[,] arr1 = new string[2, 3]
{
{"赤", "黄", "青"},
{"緑", "白", "黒"}
};
for (var i = 0; i < 2; i++)
{
for (var j = 0; j < 3; j++)
{
Console.WriteLine(arr1[i, j]);//赤 黄 青 緑 白 黒が出力
}
}
foreach (var str1 in arr1)
{
Console.WriteLine(str1);//赤 黄 青 緑 白 黒が出力される
}
}
}
11行目は、2重ループで変数iとjを指定して配列の値を取得します。
19行目は、foreach文です。
ループで2次元配列を作成
for文のループで2次元配列を作成するサンプルです。
using System;
class Test1
{
static void Main()
{
int[,] arr1 = new int[2, 3];
var num = 1;
for (var i = 0; i < 2; i++)
{
for (var j = 0; j < 3; j++)
{
arr1[i, j] = num;
num = num + 1;
}
}
Console.WriteLine(arr1[0, 0]);// 1
Console.WriteLine(arr1[0, 1]);// 2
Console.WriteLine(arr1[0, 2]);// 3
Console.WriteLine(arr1[1, 0]);// 4
Console.WriteLine(arr1[1, 1]);// 5
Console.WriteLine(arr1[1, 2]);// 6
}
}
6行目は、2次元配列を定義しています。行が2つ値が3つです。
2重ループで値を設定します。
ジャグ配列を作成
ジャグ配列とは、それぞれの要素の長さが異なる配列です。
using System;
class Test1
{
static void Main()
{
string[][] arr1 = new string[3][]
{
new string[]{"赤1",},
new string[]{"黄1", "黄2"},
new string[]{"青1", "青2", "青3"}
};
Console.WriteLine(arr1[0][0]);// 赤1
Console.WriteLine(arr1[1][0]);// 黄1
Console.WriteLine(arr1[1][1]);// 黄2
Console.WriteLine(arr1[2][0]);// 青1
Console.WriteLine(arr1[2][1]);// 青2
Console.WriteLine(arr1[2][2]);// 青3
}
}
関連の記事