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

C#でジャグ配列(配列の配列)を宣言・初期化・アクセスする方法

ジャグ配列(Jagged Array)とは、「配列の配列」のことです。C#では、各行ごとに異なる長さを持つ多次元データを扱いたい場合に便利です。この記事では、ジャグ配列の宣言方法、初期化方法、そして各要素へのアクセス方法を解説します。

ジャグ配列の宣言

ジャグ配列は、角括弧を二重にして宣言します。例えば、int型のジャグ配列「points」を宣言する場合は以下のように記述します。

int[][] points;

この時点ではメモリは割り当てられておらず、後ほど new 演算子を使って実体を作成します。

ジャグ配列の初期化

ジャグ配列を初期化するには、new 演算子を使って各内部配列を個別に生成します。以下の例では、4つの行(内部配列)を持つジャグ配列を作成しています。

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

ジャグ配列の大きな特徴は、各行の要素数が異なっていてもよいという点です。例えば、「new int[]{10}」のような長さ1の行や、「new int[]{1, 2, 3, 4}」のような長さ4の行を混在させることも可能です。これは通常の二次元配列(int[])にはない柔軟性です。

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

ジャグ配列の要素には、インデックスを二重の角括弧で指定してアクセスします。

points[i][j]

最初のインデックス「i」でどの内部配列(行)を選ぶかを指定し、次のインデックス「j」でその配列内の要素位置を指定します。

サンプルコード

以下は、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]);
            }
         }
         Console.ReadKey();
      }
   }
}

出力結果

上記プログラムを実行すると、以下の出力が得られます。先頭から3行分のデータが表示されているのが確認できます。

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

まとめ

ジャグ配列は「int[][]」のように宣言し、new演算子で各内部配列を個別に初期化します。行ごとに異なる長さを持てるため、不規則なデータ構造を表現するのに適しており、「points[i][j]」の形式で各要素にアクセスできます。通常の多次元配列との違いを理解して、用途に応じて使い分けるとよいでしょう。

  1. GZファイルとは?Windows・Mac・Linuxでの開き方・解凍方法を徹底解説

    GZファイルを受け取ったものの、開き方がわからずお困りではありませんか?この記事では、GZファイルの基本知識と、Windows・Mac・Linuxそれぞれの環境での解凍方法をわかりやすく解説します。主要なOSであれば、GZファイルの中身を確認するのはとても簡単です。やり方もいくつかあるので、自分に合った方法を選べます。GZファイルとは?GZファイルとは、gzipという圧縮技術を使って圧縮されたアーカイブファイルのことです。他のアーカイブ形式と同様に、複数のファイルを1つにまとめたり、圧縮によってファイルサイズを小さくしたりする目的で使用されます。RARやZIPと同じように、GZファイルはOS標

  2. iCloud写真へのアクセスと管理方法を徹底解説!無料5GBを賢く活用するコツ

    iPhoneを長年使っている方なら、Appleの「マイフォトストリーム(My Photo Stream)」機能をご存じでしょう。まだ馴染みのない方のために説明すると、これはiCloudユーザー向けの機能で、写真を自動的に同期し、どのAppleデバイスからでもアクセスできるようにするものです。 例えば、iPhoneで撮影した写真をiCloudにアップロードしておけば、フォトストリームが有効になっている限り、iPadやMacBookなど他のAppleデバイスからも同じ写真を閲覧できます。 ただし、ここに一つ注意点があります。iCloudの無料容量はわずか5GB。大量のデータを扱うユーザーにとっては