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

C#で長方形(多次元)配列を定義する方法をわかりやすく解説

C#における多次元配列は、その形状から長方形配列(rectangular array)とも呼ばれます。各行・各列の要素数が一定であるため、表形式のデータを扱うのに適しています。

多次元配列の宣言方法

まず、3次元の整数型配列を宣言する基本的な構文を見てみましょう。

int[ , ] a;

同様に、2次元配列を宣言してインスタンス化する場合は次のように記述します。

int[] a = new int[3, 3];

この例では、3行×3列の2次元配列が生成されます。宣言と同時に初期値を指定することも可能です。

int[] b = new int[] {
    { 1, 2, 3 },
    { 4, 5, 6 },
    { 7, 8, 9 }
};

サンプルプログラム

以下は、C#で多次元(長方形)配列を実際に操作する完全なサンプルコードです。配列に値を代入し、二重ループを使ってすべての要素を出力します。

using System;

namespace Demo {

    class Program {
        static void Main(string[] args) {

            // 3×3 の2次元配列を定義
            int[] a = new int[3, 3];
            a[0,1] = 1;
            a[0,2] = 2;
            a[1,0] = 3;
            a[1,1] = 4;
            a[1,2] = 5;
            a[2,0] = 6;
            a[2,1] = 7;
            a[2,2] = 8;

            int i, j;

            // 二重ループで全要素を表示
            for (i = 0; i < 3; i++) {
                for (j = 0; j < 3; j++) {
                    Console.WriteLine("a[{0},{1}] = {2}", i, j, a[i,j]);
                }
            }
            Console.ReadKey();
        }
    }
}

実行結果

プログラムを実行すると、コンソールに以下のように出力されます。代入していない a[0,0] は既定値の 0 になっている点に注目してください。

a[0,0] = 0
a[0,1] = 1
a[0,2] = 2
a[1,0] = 3
a[1,1] = 4
a[1,2] = 5
a[2,0] = 6
a[2,1] = 7
a[2,2] = 8

補足:ジャグ配列との違い

C#には、行ごとに異なる長さを持つ「ジャグ配列(配列の配列)」も存在します。int[][] のように記述するジャグ配列に対し、int[] の長方形配列はすべての行が同じ長さになります。用途に応じて使い分けると良いでしょう。

  1. C#(Cシャープ)で一次元配列を定義・初期化する方法を徹底解説

    配列とは何か配列(Array)は、複数のデータをまとめて格納するための基本的なデータ構造です。「同じ型の変数が、メモリ上の連続した領域に順番に並んで格納されている集合」と考えると理解しやすくなります。C#では、配列を使うことで大量のデータを効率的に管理できます。一次元配列の定義方法C#で一次元配列を定義するには、new キーワードを使用します。次の例では、int型の要素を10個格納できる配列「runs」を宣言しています。int[] runs = new int[10];宣言と同時に初期化する配列の宣言と同時に初期値を設定することもできます。波括弧 { } の中に、カンマ区切りで各要素の値を記述

  2. 【初心者向け】C#で配列を宣言する方法|基本構文からサンプルコードまで解説

    配列(Array)とは、複数のデータをまとめて格納するためのデータ構造です。同じ型の要素を、固定サイズで連続的に保持することができます。C#で配列を宣言するには、以下の構文を使用します。データ型[] 配列名;各要素の意味は次のとおりです。データ型:配列に格納する要素の型を指定します(例:int、string など)。[ ]:配列のランク(次元数)を指定します。角括弧の数によって多次元配列かどうかが決まります。配列名:配列に付ける名前を指定します。変数名と同じく任意の識別子を使用できます。例えば、int 型の配列を宣言する場合は次のように記述します。int[] goals;この時点ではメモリ領域