C# 2次元配列のサンプル

C#の2次元配列のサンプルです。

目次 2次元配列のサンプル
for文で取得する
ループで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つの配列を配列にセットしています。

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
	}
}

関連の記事

C# 配列の仕組みと使い方のサンプル

△上に戻る