Прочитать на английском

Поделиться через


Array.Length Свойство

Определение

Возвращает общее число элементов во всех измерениях массива Array.

public:
 property int Length { int get(); };
public int Length { get; }
member this.Length : int
Public ReadOnly Property Length As Integer

Значение свойства

Общее число элементов во всех измерениях массива Array; ноль, если в массиве нет элементов.

Исключения

Массив является многомерным и содержит больше элементов Int32.MaxValue .

Примеры

В следующем примере свойство используется для Length получения общего числа элементов в массиве. Он также использует GetUpperBound метод для определения количества элементов в каждом измерении многомерного массива.

using System;

public class Example
{
    public static void Main()
    {
        // Declare a single-dimensional string array
        String[] array1d = { "zero", "one", "two", "three" };
        ShowArrayInfo(array1d);

        // Declare a two-dimensional string array
        String[,] array2d = { { "zero", "0" }, { "one", "1" },
                           { "two", "2" }, { "three", "3"},
                           { "four", "4" }, { "five", "5" } };
        ShowArrayInfo(array2d);

        // Declare a three-dimensional integer array
        int[, ,] array3d = new int[,,] { { { 1, 2, 3 }, { 4, 5, 6 } },
                                       { { 7, 8, 9 }, { 10, 11, 12 } } };
        ShowArrayInfo(array3d);
    }

    private static void ShowArrayInfo(Array arr)
    {
        Console.WriteLine("Length of Array:      {0,3}", arr.Length);
        Console.WriteLine("Number of Dimensions: {0,3}", arr.Rank);
        // For multidimensional arrays, show number of elements in each dimension.
        if (arr.Rank > 1) {
            for (int dimension = 1; dimension <= arr.Rank; dimension++)
                Console.WriteLine("   Dimension {0}: {1,3}", dimension,
                                  arr.GetUpperBound(dimension - 1) + 1);
        }
        Console.WriteLine();
    }
}
// The example displays the following output:
//       Length of Array:        4
//       Number of Dimensions:   1
//
//       Length of Array:       12
//       Number of Dimensions:   2
//          Dimension 1:   6
//          Dimension 2:   2
//
//       Length of Array:       12
//       Number of Dimensions:   3
//          Dimension 1:   2
//          Dimension 2:   2
//          Dimension 3:   3
open System


let showArrayInfo (arr: Array) =
    printfn $"Length of Array:      {arr.Length,3}"
    printfn $"Number of Dimensions: {arr.Rank,3}"
    // For multidimensional arrays, show number of elements in each dimension.
    if arr.Rank > 1 then
        for dimension = 1 to arr.Rank do
            printfn $"   Dimension {dimension}: {arr.GetUpperBound(dimension - 1) + 1,3}"
    printfn ""

// Declare a single-dimensional string array
let array1d = [| "zero"; "one"; "two"; "three" |]
showArrayInfo array1d

// Declare a two-dimensional string array
let array2d = 
    array2D [ [ "zero"; "0" ]; [ "one"; "1" ]
              [ "two"; "2" ]; [ "three"; "3" ]
              [ "four"; "4" ]; [ "five"; "5" ] ]

showArrayInfo array2d

// Declare a three-dimensional integer array
let array3d = Array3D.create 2 2 3 "zero"

showArrayInfo array3d

// The example displays the following output:
//       Length of Array:        4
//       Number of Dimensions:   1
//
//       Length of Array:       12
//       Number of Dimensions:   2
//          Dimension 1:   6
//          Dimension 2:   2
//
//       Length of Array:       12
//       Number of Dimensions:   3
//          Dimension 1:   2
//          Dimension 2:   2
//          Dimension 3:   3
Module Example
    Public Sub Main()
        ' Declare a single-dimensional string array
        Dim array1d() As String = {"zero", "one", "two", "three"}
        ShowArrayInfo(array1d)

        ' Declare a two-dimensional string array
        Dim array2d(,) As String = {{"zero", "0"}, {"one", "1"},
                                     {"two", "2"}, {"three", "3"},
                                     {"four", "4"}, {"five", "5"}}
        ShowArrayInfo(array2d)

        ' Declare a three-dimensional integer array  
        Dim array3d(,,) As Integer = New Integer(,,) {{{1, 2, 3}, {4, 5, 6}},
                                        {{7, 8, 9}, {10, 11, 12}}}
        ShowArrayInfo(array3d)

    End Sub

    Private Sub ShowArrayInfo(arr As Array)
        Console.WriteLine("Length of Array:      {0,3}", arr.Length)
        Console.WriteLine("Number of Dimensions: {0,3}", arr.Rank)
        ' For multidimensional arrays, show number of elements in each dimension.
        If arr.Rank > 1 Then
            For dimension As Integer = 1 To arr.Rank
                Console.WriteLine("   Dimension {0}: {1,3}", dimension,
                                  arr.GetUpperBound(dimension - 1) + 1)
            Next
        End If
        Console.WriteLine()
    End Sub
End Module
' The example displays the following output:
'       Length of Array:        4
'       Number of Dimensions:   1
'       
'       Length of Array:       12
'       Number of Dimensions:   2
'          Dimension 1:   6
'          Dimension 2:   2
'       
'       Length of Array:       12
'       Number of Dimensions:   3
'          Dimension 1:   2
'          Dimension 2:   2
'          Dimension 3:   3

Комментарии

Получение значения данного свойства является операцией порядка сложности O(1).

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

См. также раздел