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

C#のArray.LongLengthプロパティとは?配列の全要素数を取得する方法を解説

C#のArray.LongLengthプロパティは、配列のすべての次元に含まれる要素の総数を表す64ビット整数(long)を取得するためのプロパティです。

通常のLengthプロパティは32ビット整数(int)を返しますが、LongLengthは非常に大きな配列でも正確な要素数を扱える点が特徴です。

基本的な使い方

たとえば、long型の2次元配列を次のように定義したとします。

long[] arr1 = new long[15, 35];

この配列に対してLongLengthプロパティを使うと、すべての次元を合計した要素の総数を取得できます。

arr1.LongLength

サンプルコード

配列クラスのArray.LongLengthプロパティを使った具体的な実装例を見てみましょう。

using System;

class Program {
    static void Main() {

        // 15×35 の2次元配列を作成
        long[] arr1 = new long[15, 35];

        // 0番目の次元の長さをlong型で取得
        long len1 = arr1.GetLongLength(0);

        Console.WriteLine(len1);
        Console.WriteLine(arr1.LongLength);
    }
}

実行結果

15
525

解説

このコードでは、まず15×35の2次元配列を作成しています。GetLongLength(0)メソッドは指定した次元(ここでは0番目の次元)の要素数をlong型で返すため、「15」が出力されます。

一方、arr1.LongLengthは全次元の要素数の合計を返すため、15 × 35 = 525という結果になります。

LongLengthとLengthの違い

  • Length:全次元の要素数の合計をint型(32ビット)で返す
  • LongLength:全次元の要素数の合計をlong型(64ビット)で返す

要素数がint.MaxValue(約21億)を超えるような巨大な配列を扱う場合には、LongLengthプロパティを使用することでオーバーフローを避け、正確な要素数を取得できます。

  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