Array.Rank プロパティ

定義

Array のランク (次元数) を取得します。 たとえば、1 次元配列は 1 を返し、2 次元配列は 2 を返すなどです。

public:
 property int Rank { int get(); };
public int Rank { get; }
member this.Rank : int
Public ReadOnly Property Rank As Integer

プロパティ値

Int32

Array のランク (次元数)。

次の例では、1 次元配列、2 次元配列、ジャグ配列を初期化し、それぞれのプロパティを Rank 取得します。

using System;

public class Example
{
   public static void Main()
   {
      int[] array1 = new int[10];
      int[,] array2= new int[10,3];
      int[][] array3 = new int[10][];

      Console.WriteLine("{0}: {1} dimension(s)",
                        array1.ToString(), array1.Rank);
      Console.WriteLine("{0}: {1} dimension(s)",
                        array2.ToString(), array2.Rank);
      Console.WriteLine("{0}: {1} dimension(s)",
                        array3.ToString(), array3.Rank);
   }
}
// The example displays the following output:
//       System.Int32[]: 1 dimension(s)
//       System.Int32[,]: 2 dimension(s)
//       System.Int32[][]: 1 dimension(s)
let array1 = Array.zeroCreate<int> 10
let array2 = Array2D.zeroCreate<int> 10 3
let array3 = Array.zeroCreate<int[]> 10

printfn $"{array1}: {array1.Rank} dimension(s)"

printfn $"{array2}: {array2.Rank} dimension(s)"

printfn $"{array3}: {array3.Rank} dimension(s)"

// The example displays the following output:
//       System.Int32[]: 1 dimension(s)
//       System.Int32[,]: 2 dimension(s)
//       System.Int32[][]: 1 dimension(s)
Module Example
   Public Sub Main()
      Dim array1(9) As Integer
      Dim array2(9,2) As Integer
      Dim array3(9)() As Integer

      Console.WriteLine("{0}: {1} dimension(s)",
                        array1.ToString(), array1.Rank)
      Console.WriteLine("{0}: {1} dimension(s)",
                        array2.ToString(), array2.Rank)
      Console.WriteLine("{0}: {1} dimension(s)",
                        array3.ToString(), array3.Rank)
   End Sub
End Module
' The example displays the following output:
'       System.Int32[]: 1 dimension(s)
'       System.Int32[,]: 2 dimension(s)
'       System.Int32[][]: 1 dimension(s)

注釈

たとえば、次のコードでは、値が 3 のプロパティを Rank 持つ 3 次元の配列を作成します。

Dim TDArray(0,0,0) As Integer
int[,,] TDArray = new int[1,1,1];

ジャグ配列 (配列の配列) は 1 次元配列です。プロパティ Rank の値は 1 です。

このプロパティ値を取得することは、O(1) 操作になります。

適用対象

こちらもご覧ください