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

C#のジャグ配列(配列の配列)の宣言と初期化方法を解説

C#において「配列の配列」はジャグ配列(Jagged Array)と呼ばれます。ジャグ配列は、int[][] のように角括弧を2つ重ねて宣言します。各要素が独立した配列を持つため、内側の配列ごとに異なる長さを持たせられるのが特徴です。

ジャグ配列の宣言

まず、ジャグ配列を宣言する方法を見てみましょう。

int[][] marks;

ジャグ配列の初期化

次に、5つの整数型配列を要素として持つジャグ配列を初期化します。

int[][] marks = new int[][]{new int[]{ 90,95 },new int[]{ 89,94 }, new int[]{ 78,87 },new int[]{ 76, 68 }, new int[]{ 98, 91 } };

この例では、それぞれ長さ2の整数配列が5つ格納されています。なお、ジャグ配列では各内側の配列の長さを自由に変えられるため、たとえば new int[]{90}new int[]{80, 85, 88} のように異なるサイズを混在させることも可能です。

サンプルコード

C#でジャグ配列を実装する完全なサンプルコードを以下に示します。二重のforループを使って、すべての要素にアクセスして表示しています。

using System;
namespace MyApplication {
    class MyDemoClass {
        static void Main(string[] args) {
            int i, j;
            /* 整数配列を5つ持つジャグ配列 */
            int[][] marks = new int[][]{new int[]{90,95},new int[]{89,94}, new int[]{78,87},new int[]{ 76, 68 },
            new int[]{ 98, 91}};

            for (i = 0; i < 5; i++) {
                for (j = 0; j < 2; j++) {
                    Console.WriteLine("marks[{0}][{1}] = {2}", i, j, marks[i][j]);
                }
            }
            Console.ReadKey();
        }
    }
}

実行結果

上記プログラムを実行すると、以下のように各要素が出力されます。

marks[0][0] = 90
marks[0][1] = 95
marks[1][0] = 89
marks[1][1] = 94
marks[2][0] = 78
marks[2][1] = 87
marks[3][0] = 76
marks[3][1] = 68
marks[4][0] = 98
marks[4][1] = 91

まとめ

ジャグ配列は、配列名[行][列] の形式で個々の要素にアクセスできます。多次元配列(int[])と似ていますが、ジャグ配列は「配列の中に配列が入っている」構造であり、各行の長さを柔軟に設定できる点が大きな違いです。成績データや可変長のデータセットを扱う際に便利なので、ぜひ活用してみてください。

  1. C#で対数(Log)関数を使う方法

    C#では、Mathクラスに用意されたメソッドを使うことで、対数(ログ)を簡単に計算できます。自然対数(底e)だけでなく、常用対数(底10)や任意の底を持つ対数も求められます。主な対数メソッド一覧番号メソッドと説明1Log(Double)指定した数値の自然対数(底e)を返します。2Log(Double, Double)指定した数値の、指定した底における対数を返します。3Log10(Double)指定した数値の常用対数(底10)を返します。それでは、C#で対数関数を使用する具体的な例を見てみましょう。サンプルコードusing System; class Demo { static voi

  2. C#で2つの配列の共通要素(積集合)を取得する方法【Intersectメソッド】

    C#で2つの配列の共通要素(交差・積集合)を取得するには、Intersectメソッドを使用します。このメソッドは、System.Linq名前空間に用意されている拡張メソッドで、LINQを使った配列操作の中でも特に便利な機能の一つです。 Intersectメソッドは、2つの配列を比較し、両方に存在する共通の要素だけを返します。重複する要素は自動的に除外され、結果は一意な値のコレクションとして取得できます。 配列の準備 まず、比較対象となる2つの整数型の配列を定義します。 int[] arr1 = { 44, 76, 98, 34 }; int[] arr2 = { 24, 98, 44, 55,