C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#で2次元配列を初期化する方法をわかりやすく解説

2次元配列とは

C#における2次元配列は、「1次元配列のリスト」と考えることができます。行と列を持つ表形式のデータを扱う際に非常に便利です。

2次元配列は、宣言時に各行の値を波括弧 { } で囲んで指定することで、同時に初期化することができます。

int[] a = new int[4,4] {
    {0, 1, 2, 3},
    {4, 5, 6, 7},
    {8, 9, 10, 11},
    {12, 13, 14, 15}
};

この例では、4行4列の2次元配列を作成し、各要素に初期値を設定しています。行ごとに波括弧でグループ化されている点がポイントです。

サンプルプログラム

以下は、C#で2次元配列を実際に扱う方法を示す完全なサンプルコードです。3行2列の配列を初期化し、ネストされたforループを使ってすべての要素の値をコンソールに出力します。

Example

using System;
namespace ArrayApplication {
    class MyArray {
        static void Main(string[] args) {
            /* 3行2列の配列 */
            int[] a = new int[3, 2] {{0,0}, {1,2}, {2,4} };
            int i, j;
            /* 各配列要素の値を出力 */
            for (i = 0; i < 3; i++) {
                for (j = 0; j < 2; j++) {
                    Console.WriteLine("a[{0},{1}] = {2}", i, j, a[i,j]);
                }
            }
            Console.ReadKey();
        }
    }
}

実行結果

a[0,0] = 0
a[0,1] = 0
a[1,0] = 1
a[1,1] = 2
a[2,0] = 2
a[2,1] = 4

解説のポイント

外側のループで行インデックス、内側のループで列インデックスを順番に処理することで、2次元配列のすべての要素へアクセスできます。

なお、宣言時にすべての要素の初期値を指定している場合は、サイズの指定を省略して new int[] のように書くことも可能です。また、配列内の全要素数は a.Length、行数は a.GetLength(0)、列数は a.GetLength(1) で取得できるため、ループの条件式にも活用するとより柔軟なコードになります。

  1. JavaでArrayListを初期化する方法|Arrays.asList()の使い方を解説

    Javaでリストを初期化する際には、Arrays.asList()メソッドとArrayListクラスが活用されます。通常のListインターフェースは直接オブジェクトを生成できないため、空のリストを作成するにはArrayListクラスが必要です。さらに、Arrays.asList()メソッドを使えば、初期値を持つArrayListを簡単に初期化できます。 ArrayListとは?Javaにおける基本的な役割 ArrayListの初期化とは、あらかじめ用意した値のセットをリストに代入する処理のことです。JavaでArrayListを扱うには、その初期化方法を理解しておくことが不可欠です。 ここで

  2. JavaScriptで配列をreduceする方法|reduce()メソッドで配列要素を合計する

    JavaScriptのreduce()メソッドは、配列の各要素を先頭から順に処理し、その結果を1つの値にまとめる(畳み込む)ための配列メソッドです。数値の合計を求めるだけでなく、配列からオブジェクトを組み立てたり、条件に応じてデータを集約したりと、幅広い場面で活用されています。reduce()メソッドの基本構文 { return 戻り値; }, 初期値);accumulator(アキュムレータ):直前のコールバック関数が返した値(累積値)。最初のループでは初期値、または配列の第1要素が代入されます。currentValue:現在処理している配列の要素。初期値:累積値の出発点となる値。省略し