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

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

目次 2次元配列のサンプル
For Each文で取得する
For文で取得する
ループで2次元配列を作成
ジャグ配列を作成

2次元配列のサンプル

using System;
class Test1
{
	static void Main()
	{
		string[,] arr1 = new string[2, 3]
		{
			{"赤", "黄", "青"},
			{"緑", "白", "黒"}
		};
		Console.WriteLine(arr1.Length);// 6

		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つあります。
11行目のlengthは、2次元配列の値の数を取得します。

For Each文で取得する

using System;
class Test1
{
	static void Main()
	{
		string[,] arr1 = new string[2, 3]
		{
			{"赤", "黄", "青"},
			{"緑", "白", "黒"}
		};

		foreach (var str1 in arr1)
		{
			Console.WriteLine(str1);//赤 黄 青 緑 白 黒が出力される
		}
	}
}

14行目は、個別の値で赤,黄,青,緑,白,黒が表示されます。

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]);//赤 黄 青 緑 白 黒が出力
			}
		}
	}
}

2重ループで変数iとjを指定して配列の値を取得します。
16行目は、個別の値で赤,黄,青,緑,白,黒が表示されます。

ループで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[]{"赤2","黄2"},
			new string[]{"赤3","黄3","青3"}
		};

		Console.WriteLine(arr1[0][0]);// 赤1
		//Console.WriteLine(arr1[0][1]);// 
		//Console.WriteLine(arr1[0][2]);// 
		Console.WriteLine(arr1[1][0]);// 赤2
		Console.WriteLine(arr1[1][1]);// 黄2
		//Console.WriteLine(arr1[1][2]);// 
		Console.WriteLine(arr1[2][0]);// 赤3
		Console.WriteLine(arr1[2][1]);// 黄3
		Console.WriteLine(arr1[2][2]);// 青3
	}
}

関連の記事

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

△上に戻る