Export (0) Print
Expand All

Array.GetLowerBound Method

Gets the index of the first element of the specified dimension in the array.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
Public Function GetLowerBound ( _
	dimension As Integer _
) As Integer

Parameters

dimension
Type: System.Int32

A zero-based dimension of the array whose starting index needs to be determined.

Return Value

Type: System.Int32
The index of the first element of the specified dimension in the array.

ExceptionCondition
IndexOutOfRangeException

dimension is less than zero.

-or-

dimension is equal to or greater than Rank.

GetLowerBound(0) returns the starting index of the first dimension of the array, and GetLowerBound(Rank - 1) returns the starting index of the last dimension of the array.

The GetLowerBound method always returns a value that indicates the index of the lower bound of the array, even if the array is empty.

Note that, although most arrays in the .NET Framework are zero-based (that is, the GetLowerBound method returns zero for each dimension of an array), the .NET Framework does support arrays that are not zero-based. Such arrays can be created with the CreateInstance(Type, Int32(), Int32()) method, and can also be returned from unmanaged code.

This method is an O(1) operation.

The following example uses the GetLowerBound and GetUpperBound methods to display the bounds of a one-dimensional and two-dimensional array and to display the values of their array elements.

Public Module Example    
    Public Sub Main()
        ' Create a one-dimensional integer array. 
        Dim integers() As Integer = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 }
        ' Get the upper and lower bound of the array. 
        Dim upper As Integer = integers.GetUpperBound(0)
        Dim lower As Integer = integers.GetLowerBound(0)
        Console.WriteLine("Elements from index {0} to {1}:", lower, upper)
        ' Iterate the array. 
        For ctr As Integer = lower To upper
           Console.Write("{0}{1}{2}", If(ctr = lower, "   ", ""), 
                                     integers(ctr), 
                                     If(ctr < upper, ", ", vbCrLf))
        Next
        Console.WriteLine()

        ' Create a two-dimensional integer array. 
        Dim integers2d(,) As Integer = {{2, 4}, {3, 9}, {4, 16}, {5, 25}, 
                                       {6, 36}, {7, 49}, {8, 64}, {9, 81} } 
        ' Get the number of dimensions.                                
        Dim rank As Integer = integers2d.Rank  
        Console.WriteLine("Number of dimensions: {0}", rank)      
        For ctr As Integer = 0 To integers2d.Rank - 1
           Console.WriteLine("   Dimension {0}: from {1} to {2}",
                             ctr, integers2d.GetLowerBound(ctr),
                             integers2d.GetUpperBound(ctr))
        Next 
        ' Iterate the 2-dimensional array and display its values.
        Console.WriteLine("   Values of array elements:")
        For outer = integers2d.GetLowerBound(0) To integers2d.GetUpperBound(0)
           For inner = integers2d.GetLowerBound(1) To integers2d.GetUpperBound(1)
              Console.WriteLine("      {3}{0}, {1}{4} = {2}", outer, inner,
                                integers2d.GetValue(outer, inner), "{", "}")
           Next 
        Next 
    End Sub 
End Module 
' The example displays the following output. 
'       Elements from index 0 to 9: 
'          2, 4, 6, 8, 10, 12, 14, 16, 18, 20 
'        
'       Number of dimensions: 2 
'          Dimension 0: from 0 to 7 
'          Dimension 1: from 0 to 1 
'          Values of array elements: 
'             {0, 0} = 2 
'             {0, 1} = 4 
'             {1, 0} = 3 
'             {1, 1} = 9 
'             {2, 0} = 4 
'             {2, 1} = 16 
'             {3, 0} = 5 
'             {3, 1} = 25 
'             {4, 0} = 6 
'             {4, 1} = 36 
'             {5, 0} = 7 
'             {5, 1} = 49 
'             {6, 0} = 8 
'             {6, 1} = 64 
'             {7, 0} = 9 
'             {7, 1} = 81

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft