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

C#のArray.Rankプロパティとは?配列の次元数を取得する方法を解説

C#では、Rankプロパティを使うことで、配列が持つ次元数(ディメンションの数)を簡単に取得できます。この記事では、Rankプロパティの基本的な使い方と、あわせて覚えておきたい関連メソッドについて解説します。

Rankプロパティで次元数を取得する

配列の次元数を調べるには、以下のようにRankプロパティを使用します。

arr.Rank

ここで、arrは対象となる配列です。例えば、次のような2次元配列の場合、Rankは「2」を返します。

int[] arr = new int[5,5];

GetLengthメソッドで行数・列数を取得する

配列の各行・各列の要素数(長さ)を取得したい場合は、GetLengthメソッドを使用します。引数には次元のインデックス(0から開始)を指定します。

arr.GetLength(0); // 1次元目(行)の長さ
arr.GetLength(1); // 2次元目(列)の長さ

サンプルコード

以下に、Rankプロパティ、GetLengthメソッド、さらに配列の上限インデックスを取得するGetUpperBoundメソッド、下限インデックスを取得するGetLowerBoundメソッドを組み合わせた完全なコード例を示します。

コード例

using System;

class Program {
    static void Main() {
        int[] arr = new int[4,5];

        Console.WriteLine(arr.GetLength(0));
        Console.WriteLine(arr.GetLength(1));

        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);
    }
}

実行結果

4
5
Upper Bound: 3
Lower Bound: 0
Dimensions of Array : 2

実行結果の解説

  • GetLength(0):1次元目のサイズ「4」を返します。
  • GetLength(1):2次元目のサイズ「5」を返します。
  • GetUpperBound(0):1次元目の最大インデックス「3」を返します(サイズ4のため、インデックスは0〜3)。
  • GetLowerBound(0):1次元目の最小インデックス「0」を返します。C#の配列は通常0から始まります。
  • Rank:この配列が2次元配列であるため、「2」を返します。

このように、Rankプロパティを活用すれば、配列の次元数を実行時に動的に確認できるため、多次元配列を扱う汎用的な処理を記述する際に非常に便利です。

  1. C#のBitArrayクラスでCountプロパティを使って要素数を取得する方法

    C#のBitArrayクラスにおけるCountプロパティとは?C#のBitArrayクラスは、ビット値(true/false)のコレクションを管理するためのクラスです。このクラスには、Countプロパティが用意されており、これを使うことでBitArrayに含まれる要素(ビット)の総数を簡単に取得できます。なお、BitArrayクラスのCountプロパティは、Lengthプロパティと同じ値を返します。どちらを使用しても要素数は同じになります。BitArrayクラスのインスタンスを作成するまずは、BitArrayクラスのインスタンスを作成しましょう。以下の例では、10個の要素を持つBitArray

  2. C#のSortedListクラスのCapacityプロパティとは?意味と使い方を解説

    C#のSortedListクラスにおけるCapacityプロパティとはSortedListクラスのCapacity(容量)プロパティは、SortedListが保持できる要素数の最大サイズを示すプロパティです。つまり、内部的に確保されている配列が格納できる要素の総数を表しています。なお、SortedListの既定の容量(デフォルト値)は16に設定されています。要素を追加していき容量を超えると、容量は自動的に拡張される仕組みになっています。以下のコードを実行すると、C#でSortedListクラスのCapacityプロパティを実際に確認できます。コード例using System; using Sy