C# で配列のサイズを取得する

Muhammad Maisam Abbas 2024年2月16日
  1. C# の Array.Length プロパティを使用して配列のサイズを取得する
  2. C# の Array.Rank プロパティと Array.GetLength() 関数を使用して、多次元配列の各次元のサイズを取得する
C# で配列のサイズを取得する

このチュートリアルでは、C# で配列のサイズを取得する方法について説明します。

C# の Array.Length プロパティを使用して配列のサイズを取得する

配列のサイズは、配列が格納できる要素の総数を意味します。Array.Length プロパティは、C# での配列の合計サイズを示します。次のコード例は、C# で Array.Length プロパティを使用して配列の長さを取得する方法を示しています。

using System;

namespace size_of_array {
  class Program {
    static void method1() {
      int[] a = new int[17];
      Console.WriteLine(a.Length);
    }
    static void Main(string[] args) {
      method1();
    }
  }
}

出力:

17

上記のコードでは、C# の a.Length プロパティを使用して a 配列の長さを取得しています。このメソッドは、多次元配列の合計サイズを取得するためにも使用できます。2 次元配列の合計サイズを決定するコードを以下に示します。

using System;

namespace size_of_array {
  class Program {
    static void method1() {
      int[,] a = new int[17, 2];
      Console.WriteLine(a.Length);
    }
    static void Main(string[] args) {
      method1();
    }
  }
}

出力:

34

C# の Array.Rank プロパティと Array.GetLength() 関数を使用して、多次元配列の各次元のサイズを取得する

多次元配列があり、多次元配列内の各次元のサイズを取得するとします。その場合、Array.Rank プロパティ[Array.GetLength() 関数](https://learn.microsoft.com/ja-jp/dotnet/api/system.array.getlength?view=net-5.0/)C# で。Array.Rank プロパティは、配列内の次元数を示します。Array.GetLength(i) 関数は、配列の i 次元のサイズを提供します。次のコード例は、C# の Array.Rank プロパティと [Array.GetLength() 関数を使用して、多次元配列の各次元の合計サイズを取得する方法を示しています。

using System;

namespace size_of_array {
  class Program {
    static void method2() {
      int[,] a = new int[17, 2];
      int i = a.Rank;
      for (int x = 0; x < i; x++) {
        Console.WriteLine(a.GetLength(x));
      }
    }
    static void Main(string[] args) {
      method2();
    }
  }
}

出力:

17
2

上記のコードでは、a.Rank プロパティと a.GetLength(x) 関数を使用して、多次元配列 a の各次元のサイズを出力します。a.Rank プロパティを使用して a 配列内の次元数を取得し、for ループを使用して各次元を反復処理します。次に、a.GetLength(x) 関数を使用して各ディメンションのサイズを出力します。ここで、x はディメンションのインデックスです。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

関連記事 - Csharp Array