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

C#でジャグ配列(配列の配列)の長さとランクを取得する方法

C#におけるジャグ配列(jagged array、配列の配列)は、それぞれの要素が異なる長さの配列を持つことができる柔軟なデータ構造です。この記事では、ジャグ配列の長さやランク(次元数)、境界値を取得する方法を解説します。

ジャグ配列の宣言と初期化

まず、次のようにジャグ配列を宣言して初期化します。

int[][] arr = new int[][] {
    new int[] { 0, 0 },
    new int[] { 1, 2 },
    new int[] { 2, 4 },
    new int[] { 3, 6 },
    new int[] { 4, 8 }
};

この例では、5つのint型配列を要素として持つジャグ配列を作成しています。

長さ・ランク・境界値を取得する

ジャグ配列の情報を取得するには、以下のプロパティやメソッドを使用します。

  • Length プロパティ:配列に含まれる要素(内側の配列)の総数を返します。
  • GetLowerBound() メソッド:指定した次元の最小インデックス(下限)を返します。C#では通常「0」です。
  • GetUpperBound() メソッド:指定した次元の最大インデックス(上限)を返します。
  • Rank プロパティ:配列の次元数(ランク)を返します。ジャグ配列の場合は「1」となります。

サンプルコード

以下のコードでは、これらのプロパティとメソッドを使って、ジャグ配列の長さとランクを出力しています。

using System;

public class Program {
    public static void Main() {
        int[][] arr = new int[][] {
            new int[] { 0, 0 },
            new int[] { 1, 2 },
            new int[] { 2, 4 },
            new int[] { 3, 6 },
            new int[] { 4, 8 }
        };

        // 長さ
        Console.WriteLine("Length:" + arr.Length);

        // 上限インデックス
        Console.WriteLine("Upper Bound: {0}", arr.GetUpperBound(0).ToString());

        // 下限インデックス
        Console.WriteLine("Lower Bound: {0}", arr.GetLowerBound(0).ToString());

        // 次元数(ランク)
        Console.WriteLine("Dimensions of Array : " + arr.Rank);
    }
}

実行結果

Length:5
Upper Bound: 4
Lower Bound: 0
Dimensions of Array : 1

解説

実行結果から以下のことがわかります。

  • Length: 5 — ジャグ配列には5つの内側の配列が格納されています。
  • Upper Bound: 4 — 最後の要素のインデックスは「4」(要素数5 - 1)です。
  • Lower Bound: 0 — インデックスは「0」から始まります。
  • Dimensions of Array: 1 — ジャグ配列は「配列の配列」ですが、外側の配列自体は1次元です。そのためRankは「1」になります。

なお、各内側の配列の長さを個別に知りたい場合は、arr[i].Length のようにアクセスします。ジャグ配列は各行の長さが異なってもよいため、多次元配列(矩形配列)とは異なり、全体の要素数は arr.Length だけではわからない点に注意しましょう。

  1. C#で配列の次元数を取得する方法

    C#で配列の次元数を調べたい場合は、Rankプロパティを使用します。このプロパティは、配列の次元(ランク)を整数値として返します。arr.Rankここで、arrは対象となる配列です。例えば、以下のように2次元配列を宣言した場合:int[] arr = new int[3,4];さらに、配列の行数や列数といった各次元のサイズを取得したい場合は、GetLengthメソッドを使用します。arr.GetLength(0); // 第1次元のサイズ(行数) arr.GetLength(1); // 第2次元のサイズ(列数)サンプルコード以下に、RankプロパティとGetLengthメソッドを使った完全な

  2. C#で配列の長さを取得する方法

    C#で配列の長さ(要素数)を取得するには、Lengthプロパティを使用します。このプロパティは、配列に格納されている全要素の数を整数値として返します。サンプルコード以下に具体的な使用例を示します。using System; class Program { static void Main(){ int[] arr = new int[10]; // 配列の長さを取得 int arrLength = arr.Length; Console.WriteLine(配列の長さ: + arrLength); } }実行結