Array.GetLength(Int32) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft eine 32-Bit-Ganzzahl ab, die die Anzahl der Elemente in der angegebenen Dimension des Array angibt.
public:
int GetLength(int dimension);
public int GetLength (int dimension);
member this.GetLength : int -> int
Public Function GetLength (dimension As Integer) As Integer
Parameter
Gibt zurück
Eine 32-Bit-Ganzzahl, die die Anzahl der Elemente in der angegebenen Dimension angibt.
Ausnahmen
Beispiele
Im folgenden Beispiel wird gezeigt, wie GetLength die Dimensionen von zwei Arrays mit unterschiedlichen Rangfolgen angezeigt werden.
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
Hinweise
Ein Beispiel ist GetLength GetLength(0)
, das die Anzahl der Elemente in der ersten Dimension der Array.
Diese Methode ist ein O(1)-Vorgang.