C#言語で二次元配列の宣言・初期化・代入する方法について解説します。
2次元配列とは
通常の配列は、データを1列に並べるため、1次元配列です。
それに対して、2次元配列は縦横の2次元で配列を考えます。
2次元で配列を考えると、ゲームのマップや画像など、2次元のデータを扱う際には非常に便利です。
動画解説
本ページの内容は以下動画でも解説しています。
2次元配列の宣言
2次元配列を使用する際は、まず宣言を行う必要があります。
【書式】
型[,] 配列名 = new 型[ 縦の要素数 ][ 横の要素数 ];
【宣言例】
int[,] score = new int[2][3];
※要素数が2×3のint型の2次元配列を宣言
【配列の中身】
| int | int | int | | int | int | int |
配列の初期化
2次元配列を宣言する際に、同時に初期値を与えることができます。
これを「2次元配列の初期化」といいます。
初期化する際は、初期値をカンマ( , )で区切って括弧{ }内に並べます。
並べる初期値の個数は宣言した要素数に合わせる必要があります。
(要素数2×3なら初期値は6個必要)
【例】
using System; using System.Collections.Generic; using System.Linq; public class Test { public static void Main () { // 配列の宣言 int[, ] score = new int[2, 3] { { 10, 20, 30 }, { 40, 50, 60 } }; Console.WriteLine (score[0, 0]); // 10 Console.WriteLine (score[0, 1]); // 20 Console.WriteLine (score[0, 2]); // 30 Console.WriteLine (score[1, 0]); // 40 Console.WriteLine (score[1, 1]); // 50 Console.WriteLine (score[1, 2]); // 60 } }
上記の例だと、score[0, 0]に10、score[0, 1]に20、score[0, 2]に30、score[1, 0]に40、score[1, 1]に50、score[1, 2]に30がそれぞれ格納されます。
| 10 | 20 | 30 | | 40 | 50 | 60 |
変数の代入
宣言した配列にデータを入れることを「配列への代入」といいます。
代入を行うと初期化したときのデータは消えます。(上書きされる)
【代入の例】
score[0, 0] = 50; score[0, 1] = 70; score[0, 2] = 80;
【注意】
配列の要素を指定する添え字の数は、
0 ~ (要素数 -1)
となります。
【例】
要素数が3の場合は、有効な添え字は0~2となります。
※添え字は1~3だと間違えることが多いので注意
また、2次元配列でもint型の配列にchar型のデータを代入することはできません。
【C#入門】基礎文法とサンプル集
C#言語の基本文法・使い方をサンプルプログラムのソースコード付きで解説します。
コメント