Редактиране

Споделяне чрез


Array.Length Property

Definition

Gets the total number of elements in all the dimensions of the Array.

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

Property Value

The total number of elements in all the dimensions of the Array; zero if there are no elements in the array.

Exceptions

The array is multidimensional and contains more than Int32.MaxValue elements.

Examples

The following example uses the Length property to get the total number of elements in an array. It also uses the GetUpperBound method to determine the number of elements in each dimension of a multidimensional array.

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

Remarks

Retrieving the value of this property is an O(1) operation.

Applies to

See also