【C#】2次元配列の宣言・初期化・代入

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#言語の基本文法・使い方をサンプルプログラムのソースコード付きで解説します。

コメント