Array.GetLength(Int32) Array.GetLength(Int32) Array.GetLength(Int32) Array.GetLength(Int32) Method

定義

取得代表 Array 指定維度之元素數目的 32 位元整數。Gets a 32-bit integer that represents the number of elements in the specified dimension of the Array.

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 Int32 Int32 Int32

需要決定長度之 Array 的以零起始維度。A zero-based dimension of the Array whose length needs to be determined.

傳回

32 位元的整數,代表指定維度的元素數目。A 32-bit integer that represents the number of elements in the specified dimension.

例外狀況

dimension 小於零。dimension is less than zero.

-或--or- dimension 等於或大於 Rankdimension is equal to or greater than Rank.

範例

下列範例顯示如何使用GetLength來顯示兩個具有不同次序的陣列維度。The following example shows how to use GetLength to display the dimensions of two arrays with different ranks.

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
*/
Imports System

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

備註

的範例GetLength是, GetLength(0)它會傳回第一個維度Array中的專案數。An example of GetLength is GetLength(0), which returns the number of elements in the first dimension of the Array.

這個方法是 O (1) 運算。This method is an O(1) operation.

適用於

另請參閱