# Array.GetLength(Int32) 方法

## 定义

``````public:
int GetLength(int dimension);``````
``public int GetLength (int dimension);``
``member this.GetLength : int -> int``
``Public Function GetLength (dimension As Integer) As Integer``

#### 参数

dimension
Int32

Array 的从零开始的维度，其长度需要确定。A zero-based dimension of the Array whose length needs to be determined.

Int32

#### 例外

`dimension` 小于零。`dimension` is less than zero.

-or-

`dimension` 等于或大于 Rank`dimension` is equal to or greater than Rank.

## 示例

``````using namespace System;

public ref class SamplesArray
{
public:
static void Main()
{
// make a single dimension array
Array^ MyArray1 = Array::CreateInstance(int::typeid, 5);

// make a 3 dimensional array
Array^ MyArray2 = Array::CreateInstance(int::typeid, 5, 3, 2);

// make an array container
Array^ BossArray = Array::CreateInstance(Array::typeid, 2);
BossArray->SetValue(MyArray1, 0);
BossArray->SetValue(MyArray2, 1);

int i = 0, j, rank;
for each (Array^ anArray in BossArray)
{
rank = anArray->Rank;
if (rank > 1)
{
Console::WriteLine("Lengths of {0:d} dimension array[{1:d}]", rank, i);
// show the lengths of each dimension
for (j = 0; j < rank; j++)
{
Console::WriteLine("    Length of dimension({0:d}) = {1:d}", j, anArray->GetLength(j));
}
}
else
{
Console::WriteLine("Lengths of single dimension array[{0:d}]", i);
}
// show the total length of the entire array or all dimensions
Console::WriteLine("    Total length of the array = {0:d}", anArray->Length);
Console::WriteLine();
i++;
}
}
};

int main()
{
SamplesArray::Main();
}

/*
This code produces the following output:

Lengths of single dimension array[0]
Total length of the array = 5

Lengths of 3 dimension array[1]
Length of dimension(0) = 5
Length of dimension(1) = 3
Length of dimension(2) = 2
Total length of the array = 30
*/
``````
``````using System;

public class SamplesArray
{
public static void Main()
{
// make a single dimension array
Array MyArray1 = Array.CreateInstance(typeof(int), 5);

// make a 3 dimensional array
Array MyArray2 = Array.CreateInstance(typeof(int), 5, 3, 2);

// make an array container
Array BossArray = Array.CreateInstance(typeof(Array), 2);
BossArray.SetValue(MyArray1, 0);
BossArray.SetValue(MyArray2, 1);

int i = 0, j, rank;
foreach (Array anArray in BossArray)
{
rank = anArray.Rank;
if (rank > 1)
{
Console.WriteLine("Lengths of {0:d} dimension array[{1:d}]", rank, i);
// show the lengths of each dimension
for (j = 0; j < rank; j++)
{
Console.WriteLine("    Length of dimension({0:d}) = {1:d}", j, anArray.GetLength(j));
}
}
else
{
Console.WriteLine("Lengths of single dimension array[{0:d}]", i);
}
// show the total length of the entire array or all dimensions
Console.WriteLine("    Total length of the array = {0:d}", anArray.Length);
Console.WriteLine();
i++;
}
}
}

/*
This code produces the following output:

Lengths of single dimension array[0]
Total length of the array = 5

Lengths of 3 dimension array[1]
Length of dimension(0) = 5
Length of dimension(1) = 3
Length of dimension(2) = 2
Total length of the array = 30
*/
``````
``````Public Class SamplesArray
Public Shared Sub Main()
' make a single dimension array
Dim MyArray1 As Array = Array.CreateInstance(GetType(Integer), 5)

' make a 3 dimensional array
Dim MyArray2 As Array = Array.CreateInstance(GetType(Integer), 5, 3, 2)

' make an array container
Dim BossArray As Array = Array.CreateInstance(GetType(Array), 2)
BossArray.SetValue(MyArray1, 0)
BossArray.SetValue(MyArray2, 1)

Dim i As Integer = 0
Dim j As Integer
Dim rank As Integer
For Each anArray As Array In BossArray
rank = anArray.Rank
If rank > 1
Console.WriteLine("Lengths of {0:d} dimension array[{1:d}]", rank, i)
' show the lengths of each dimension
For j = 0 To rank - 1
Console.WriteLine("    Length of dimension({0:d}) = {1:d}", j, anArray.GetLength(j))
Next j
Else
Console.WriteLine("Lengths of single dimension array[{0:d}]", i)
End If
' show the total length of the entire array or all dimensions
Console.WriteLine("    Total length of the array = {0:d}", anArray.Length)
Console.WriteLine()
i = i + 1
Next anArray
End Sub
End Class

'This code produces the following output:
'
'Lengths of single dimension array[0]
'    Total length of the array = 5
'
'Lengths of 3 dimension array[1]
'    Length of dimension(0) = 5
'    Length of dimension(1) = 3
'    Length of dimension(2) = 2
'    Total length of the array = 30
``````