スポンサーリンク
※サイト運営にサーバーは必須です※
~このサイトもエックスサーバーを使用しています~
目次
2次元配列とは
2次元配列は、行と列がともに複数あるデータのかたまりを扱う場合に使います。
数学でいえば、行列を扱うのに相当します。
例えば以下のような表形式で表されるデータを扱う際に、便利です。
名前 | 性別 | 特技 | |
[0] | [1] | [2] | |
[0] | 浅野 | 男 | 剣道 |
[1] | 貝塚 | 女 | 歌 |
[2] | 坂上 | 女 | ダンス |
[3] | 高原 | 男 | 野球 |
[4] | 中条 | 男 | 柔道 |
※対応するインデックス
[0] | [1] | [2] | |
[0] | [0][0] | [0][1] | [0][2] |
[1] | [1][0] | [1][1] | [1][2] |
[2] | [2][0] | [2][1] | [2][2] |
[3] | [3][0] | [3][1] | [3][2] |
[4] | [4][0] | [4][1] | [4][2] |
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Array05 { class Program { static void Main(string[] args) { string[,] student_list = { { "浅野", "男", "剣道" }, { "貝塚", "女", "歌" }, { "坂上", "女", "ダンス" }, { "高原", "男", "野球" }, { "中条", "男", "柔道" } }; for (int i = 0; i < 5; i++) { Console.WriteLine("名前は"+student_list[i, 0]+ ",性別は"+student_list[i, 1] + ",特技は" + student_list[i, 2]); } } } } |
実行結果
名前は浅野,性別は男,特技は剣道
名前は貝塚,性別は女,特技は歌
名前は坂上,性別は女,特技はダンス
名前は高原,性別は男,特技は野球
名前は中条,性別は男,特技は柔道
2次元配列の宣言と初期化の仕方
2次元配列を宣言して、初期化するには、以下のようなパターンがあります。
パターン1
string[,] student_list =
{
{ “浅野”, “男”, “剣道” },
{ “貝塚”, “女”, “歌” },
{ “坂上”, “女”, “ダンス” },
{ “高原”, “男”, “野球” },
{ “中条”, “男”, “柔道” }
};
パターン2
string[,] student_list = new string[,]
{
{ “浅野”, “男”, “剣道” },
{ “貝塚”, “女”, “歌” },
{ “坂上”, “女”, “ダンス” },
{ “高原”, “男”, “野球” },
{ “中条”, “男”, “柔道” }
};
パターン3
string[,] student_list = new string[5, 3]
{
{ “浅野”, “男”, “剣道” },
{ “貝塚”, “女”, “歌” },
{ “坂上”, “女”, “ダンス” },
{ “高原”, “男”, “野球” },
{ “中条”, “男”, “柔道” }
};
パターン4
string[,] student_list = new string[5, 3];
student_list[0, 0] = “浅野”;
student_list[0, 1] = “男”;
student_list[0, 2] = “剣道”;
student_list[1, 0] = “貝塚”;
student_list[1, 1] = “女”;
student_list[1, 2] = “歌”;
student_list[2, 0] = “坂上”;
student_list[2, 1] = “女”;
student_list[2, 2] = “ダンス”;
student_list[3, 0] = “高原”;
student_list[3, 1] = “男”;
student_list[3, 2] = “野球”;
student_list[4, 0] = “中条”;
student_list[4, 1] = “男”;
student_list[4, 2] = “柔道”;
パターン5
string[,] student_list;
student_list = new string[5, 3];
student_list[0, 0] = “浅野”;
student_list[0, 1] = “男”;
student_list[0, 2] = “剣道”;
student_list[1, 0] = “貝塚”;
student_list[1, 1] = “女”;
student_list[1, 2] = “歌”;
student_list[2, 0] = “坂上”;
student_list[2, 1] = “女”;
student_list[2, 2] = “ダンス”;
student_list[3, 0] = “高原”;
student_list[3, 1] = “男”;
student_list[3, 2] = “野球”;
student_list[4, 0] = “中条”;
student_list[4, 1] = “男”;
student_list[4, 2] = “柔道”;
パターン1~3は配列の宣言と初期化を同時に行っています。
一方で、パターン4、5は配列の宣言と初期化を分けて行っています。
参考コード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Array06 { class Program { static void Main(string[] args) { string[,] student_list = { { "浅野", "男", "剣道" }, { "貝塚", "女", "歌" }, { "坂上", "女", "ダンス" }, { "高原", "男", "野球" }, { "中条", "男", "柔道" } }; string[,] student_list1 = new string[,] { { "浅野", "男", "剣道" }, { "貝塚", "女", "歌" }, { "坂上", "女", "ダンス" }, { "高原", "男", "野球" }, { "中条", "男", "柔道" } }; string[,] student_list2 = new string[5, 3] { { "浅野", "男", "剣道" }, { "貝塚", "女", "歌" }, { "坂上", "女", "ダンス" }, { "高原", "男", "野球" }, { "中条", "男", "柔道" } }; string[,] student_list3 = new string[5, 3]; student_list3[0, 0] = "浅野"; student_list3[0, 1] = "男"; student_list3[0, 2] = "剣道"; student_list3[1, 0] = "貝塚"; student_list3[1, 1] = "女"; student_list3[1, 2] = "歌"; student_list3[2, 0] = "坂上"; student_list3[2, 1] = "女"; student_list3[2, 2] = "ダンス"; student_list3[3, 0] = "高原"; student_list3[3, 1] = "男"; student_list3[3, 2] = "野球"; student_list3[4, 0] = "中条"; student_list3[4, 1] = "男"; student_list3[4, 2] = "柔道"; string[,] student_list4; student_list4 = new string[5, 3]; student_list4[0, 0] = "浅野"; student_list4[0, 1] = "男"; student_list4[0, 2] = "剣道"; student_list4[1, 0] = "貝塚"; student_list4[1, 1] = "女"; student_list4[1, 2] = "歌"; student_list4[2, 0] = "坂上"; student_list4[2, 1] = "女"; student_list4[2, 2] = "ダンス"; student_list4[3, 0] = "高原"; student_list4[3, 1] = "男"; student_list4[3, 2] = "野球"; student_list4[4, 0] = "中条"; student_list4[4, 1] = "男"; student_list4[4, 2] = "柔道"; } } } |
3次元以上の配列
2次元と同様の方法で3次元以上の配列を扱うことができます。
関連記事
~プログラミングを勉強してみませんか?~
TechAcademy [テックアカデミー] は無料の体験講座が用意されているので、気軽に体験できます。
※私(サイト主)も無料体験講座を実際に受けてみました(→感想)