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

C#でジャグ配列にアクセスする方法をわかりやすく解説

C#におけるジャグ配列(Jagged Array)とは、「配列の配列」のことです。通常の2次元配列と異なり、各行ごとに異なる長さの配列を持つことができるのが特徴です。

ジャグ配列の宣言

int型のジャグ配列「points」を宣言するには、次のように記述します。

int[][] points;

ジャグ配列の初期化

宣言したジャグ配列は、以下のように初期化できます。ここでは4つの行を作成し、それぞれに異なる値を格納しています。

int[][] points = new int[][]{new int[]{10,5},new int[]{30,40}, new int[]{70,80},new int[]{60,70}};

ジャグ配列の要素へのアクセス

ジャグ配列の要素にアクセスするには、インデックスを2段階で指定します。たとえば、1行目(インデックス0)の2番目の要素(インデックス1)を取得するには、次のように書きます。

int x = points[0][1];

この場合、変数 x には 5 が代入されます。

サンプルコード(完全な例)

以下は、C#でジャグ配列を初期化し、要素にアクセスする方法を示す完全なサンプルプログラムです。ネストしたforループを使ってすべての要素を出力した後、特定の要素を個別に取得しています。

using System;
namespace ArrayApplication {
    class MyArray {
        static void Main(string[] args) {
            int[][] points = new int[][]{
                new int[]{10,5},
                new int[]{30,40},
                new int[]{70,80},
                new int[]{60,70}
            };
            int i, j;
            for (i = 0; i < 3; i++) {
                for (j = 0; j < 2; j++) {
                    Console.WriteLine("a[{0}][{1}] = {2}", i, j, points[i][j]);
                }
            }
            // 特定の要素へのアクセス
            int x = points[0][1];
            Console.WriteLine(x);
            Console.ReadKey();
        }
    }
}

実行結果

a[0][0] = 10
a[0][1] = 5
a[1][0] = 30
a[1][1] = 40
a[2][0] = 70
a[2][1] = 80
5

まとめ

ジャグ配列は 配列名[行][列] の形式でアクセスします。各行が独立した配列であるため、行ごとに異なる要素数を持たせられる点が大きなメリットです。データ構造が不均一な場合や、メモリを効率的に扱いたい場合に活用するとよいでしょう。

  1. C#で多次元配列を定義する方法|宣言・初期化・出力の手順を解説

    C#では、複数の次元を持つ「多次元配列」を扱うことができます。この記事では、2次元配列の宣言方法から初期化、forループを使った要素の出力まで、具体的なコード例とともにわかりやすく解説します。2次元配列の宣言文字列型の2次元配列は、次のようにカンマを使って宣言します。string[] names;2次元配列は、行と列を持つ「表(テーブル)」のようなイメージで考えると理解しやすいでしょう。x行・y列のデータをまとめて管理したい場合に便利です。多次元配列の初期化多次元配列は、各行の初期値を波括弧 { } で囲んで指定することで初期化できます。以下は、4行×4列のint型2次元配列を初期化する例です

  2. C#でジャグ配列を定義する方法|宣言・初期化・要素アクセスの基本

    ジャグ配列(Jagged Array)とはジャグ配列とは、簡単に言えば「配列の配列」のことです。通常の二次元配列と異なり、各行の要素数を個別に設定できるため、柔軟なデータ構造を実現できるのが大きな特徴です。C#でint型のジャグ配列「points」を定義するには、次のように宣言します。int [][] points;ジャグ配列の初期化方法宣言したジャグ配列は、作成時に各要素となる配列を同時に初期化できます。以下のように、波括弧の中にさらに配列を記述していきます。int[][] points = new int[][]{new int[]{10,5},new int[]{30,40}, new