Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

Array.Rank Property

Definition

Namespace:
System
Assemblies:
mscorlib.dll, System.Runtime.dll
Assemblies:
netstandard.dll, System.Runtime.dll
Assembly:
System.Runtime.dll
Assembly:
mscorlib.dll
Assembly:
netstandard.dll
Source:
Array.CoreCLR.cs
Source:
Array.CoreCLR.cs
Source:
Array.CoreCLR.cs
Source:
Array.CoreCLR.cs
Source:
Array.CoreCLR.cs

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Gets the rank (number of dimensions) of the Array. For example, a one-dimensional array returns 1, a two-dimensional array returns 2, and so on.

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

Property Value

The rank (number of dimensions) of the Array.

Examples

The following example initializes a one-dimensional array, a two-dimensional array, and a jagged array, and retrieves the Rank property of each.

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)

Remarks

For example, the following code creates an array of three dimensions with a Rank property whose value is 3.

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

A jagged array (an array of arrays) is a one-dimensional array; the value of its Rank property is 1.

Retrieving the value of this property is an O(1) operation.

Applies to

See also


Feedback

Was this page helpful?