C#でジャグ配列を宣言する方法をわかりやすく解説
ジャグ配列(Jagged Array)とは、配列の中にさらに配列が格納されている構造を持つ「配列の配列」のことです。多次元配列とは異なり、各要素となる配列ごとに異なる長さを持つことができるのが特徴です。
ジャグ配列の宣言方法
例えば、int型の要素を持つ「scores」という名前のジャグ配列は、次のように宣言します。
int[][] scores;
このように、角括弧 [] を二重に記述することで、ジャグ配列であることを表します。ただし、この時点ではまだメモリが確保されていないため、使用する前に初期化が必要です。
サンプルコード
それでは、実際にジャグ配列を宣言して操作する方法を、具体的なコード例で見ていきましょう。
using System;
namespace ArrayApplication {
class MyArray {
static void Main(string[] args) {
/* 5つの整数配列からなるジャグ配列 */
int[][] a = new int[][]{new int[]{0,0},new int[]{1,2}, new int[]{2,4},new int[]{ 3, 6 }, new int[]{ 4, 8 } };
int i, j;
/* 各配列要素の値を出力 */
for (i = 0; i < 5; i++) {
for (j = 0; j < 2; j++) {
Console.WriteLine("a[{0}][{1}] = {2}", i, j, a[i][j]);
}
}
Console.ReadKey();
}
}
}コードのポイント
- 宣言と同時に初期化子を使って、5つの配列をまとめて生成しています。
- 入れ子になったforループで、外側のループが行(配列)、内側のループが列(要素)を走査します。
a[i][j]の形式で、個々の要素にアクセスできます。
実行結果
a[0][0] = 0 a[0][1] = 0 a[1][0] = 1 a[1][1] = 2 a[2][0] = 2 a[2][1] = 4 a[3][0] = 3 a[3][1] = 6 a[4][0] = 4 a[4][1] = 8
このように、ジャグ配列では 配列名[インデックス][インデックス] の形式で各要素にアクセスします。各行の配列の長さが異なる場合でも柔軟に扱えるため、データ量が不均一な場合に特に便利です。
-
【C#入門】イベントの宣言方法をサンプルコードで解説
イベントとは、キーの押下、マウスのクリック、マウスの移動といったユーザーアクションや、システムが生成する通知など、プログラムの内外で発生する何らかの出来事を指します。イベントはクラス内で宣言・発生させられ、デリゲートを使用してイベントハンドラーに関連付けられます。この関連付けは、同じクラス内でも別のクラスでも行うことが可能です。そして、イベントを保持しているクラスが、そのイベントを外部に公開(パブリッシュ)する役割を担います。クラス内でイベントを宣言するには、まずそのイベントのためのデリゲート型を宣言する必要があります。例えば、以下のように記述します。public delegate strin
-
【初心者向け】C#で配列を宣言する方法|基本構文からサンプルコードまで解説
配列(Array)とは、複数のデータをまとめて格納するためのデータ構造です。同じ型の要素を、固定サイズで連続的に保持することができます。C#で配列を宣言するには、以下の構文を使用します。データ型[] 配列名;各要素の意味は次のとおりです。データ型:配列に格納する要素の型を指定します(例:int、string など)。[ ]:配列のランク(次元数)を指定します。角括弧の数によって多次元配列かどうかが決まります。配列名:配列に付ける名前を指定します。変数名と同じく任意の識別子を使用できます。例えば、int 型の配列を宣言する場合は次のように記述します。int[] goals;この時点ではメモリ領域