Array.GetLength(Int32) Yöntem

Tanım

öğesinin belirtilen boyutundaki Arrayöğelerin sayısını temsil eden 32 bitlik bir tamsayı alır.

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

Parametreler

dimension
Int32

Uzunluğunun belirlenmesi gereken öğesinin Array sıfır tabanlı boyutu.

Döndürülenler

Int32

Belirtilen boyuttaki öğelerin sayısını temsil eden 32 bitlik bir tamsayı.

Özel durumlar

dimension, sıfırdan küçüktür.

-veya-

dimension eşittir veya değerinden Rankbüyüktür.

Örnekler

Aşağıdaki örnekte, farklı derecelere sahip iki dizinin boyutlarını görüntülemek için nasıl kullanılacağı GetLength gösterilmektedir.

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

// make a single dimension array
let myArray1 = Array.zeroCreate<int> 5

// make a 3 dimensional array
let myArray2 = Array3D.zeroCreate<int> 5 3 2

// make an array container
let bossArray: Array [] = 
    [|  myArray1
        myArray2 |]

let mutable i = 0
for anArray in bossArray do
    let rank = anArray.Rank;
    if rank > 1 then
        printfn $"Lengths of {rank:d} dimension array[{i:d}]"
        // show the lengths of each dimension
        for j = 0 to rank - 1 do
            printfn $"    Length of dimension({j:d}) = {anArray.GetLength(j):d}"
    else
        printfn $"Lengths of single dimension array[{i:d}]"

    // show the total length of the entire array or all dimensions
    printfn $"    Total length of the array = {anArray.Length:d}\n"
    i <- i + 1


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

Açıklamalar

Örneğin GetLength , GetLength(0)öğesinin ilk boyutundaki öğelerin sayısını döndüren değeridir Array.

Bu yöntem bir O(1) işlemidir.

Şunlara uygulanır

Ayrıca bkz.