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
まとめ
ジャグ配列は 配列名[行][列] の形式でアクセスします。各行が独立した配列であるため、行ごとに異なる要素数を持たせられる点が大きなメリットです。データ構造が不均一な場合や、メモリを効率的に扱いたい場合に活用するとよいでしょう。
-
C#で多次元配列を定義する方法|宣言・初期化・出力の手順を解説
C#では、複数の次元を持つ「多次元配列」を扱うことができます。この記事では、2次元配列の宣言方法から初期化、forループを使った要素の出力まで、具体的なコード例とともにわかりやすく解説します。2次元配列の宣言文字列型の2次元配列は、次のようにカンマを使って宣言します。string[] names;2次元配列は、行と列を持つ「表(テーブル)」のようなイメージで考えると理解しやすいでしょう。x行・y列のデータをまとめて管理したい場合に便利です。多次元配列の初期化多次元配列は、各行の初期値を波括弧 { } で囲んで指定することで初期化できます。以下は、4行×4列のint型2次元配列を初期化する例です
-
C#でジャグ配列を定義する方法|宣言・初期化・要素アクセスの基本
ジャグ配列(Jagged Array)とはジャグ配列とは、簡単に言えば「配列の配列」のことです。通常の二次元配列と異なり、各行の要素数を個別に設定できるため、柔軟なデータ構造を実現できるのが大きな特徴です。C#でint型のジャグ配列「points」を定義するには、次のように宣言します。int [][] points;ジャグ配列の初期化方法宣言したジャグ配列は、作成時に各要素となる配列を同時に初期化できます。以下のように、波括弧の中にさらに配列を記述していきます。int[][] points = new int[][]{new int[]{10,5},new int[]{30,40}, new