Array.GetLength(Int32) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient un entier 32 bits qui représente le nombre d’éléments dans la dimension spécifiée de Array.
public:
int GetLength(int dimension);
public int GetLength (int dimension);
member this.GetLength : int -> int
Public Function GetLength (dimension As Integer) As Integer
Paramètres
Retours
Entier 32 bits qui représente le nombre d’éléments dans la dimension spécifiée.
Exceptions
Exemples
L’exemple suivant montre comment utiliser GetLength pour afficher les dimensions de deux tableaux avec des rangs différents.
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
Remarques
Un exemple d’élément GetLength est GetLength(0)
, qui retourne le nombre d’éléments dans la première dimension du Array.
Cette méthode est une opération O(1).