LBound
Returns the lower bound of an array's dimension
result = LBound( array [, dimension ] )
array
Returns the lower bound of an array's dimension.
LBound returns the lowest value that can be used as an index into a particular dimension of an array.
Array dimensions are numbered from one (1) to n, where n is the total number of dimensions. If dimension is not specified, LBound will return the lower bound of the first dimension.
If dimension is zero (0), LBound returns 1, corresponding to the lower bound of the array dimensions 1..n. UBound returns n, the number of dimensions, in this case. This can be used to detect the array's number of dimensions.
For any other (non-zero) dimension values outside of the valid range 1..n, LBound returns 0. UBound returns -1 in this case. This can be used to detect whether a certain dimension exists in the array, and also works when used on an empty array which does not have any valid dimensions.
Thus, for empty dynamic arrays, we get:
Syntax
Usage
result = LBound( array [, dimension ] )
Parameters
array
an array of any type
dimensionthe dimension to get lower bound of
Return Value
Returns the lower bound of an array's dimension.
Description
LBound returns the lowest value that can be used as an index into a particular dimension of an array.
Array dimensions are numbered from one (1) to n, where n is the total number of dimensions. If dimension is not specified, LBound will return the lower bound of the first dimension.
If dimension is zero (0), LBound returns 1, corresponding to the lower bound of the array dimensions 1..n. UBound returns n, the number of dimensions, in this case. This can be used to detect the array's number of dimensions.
For any other (non-zero) dimension values outside of the valid range 1..n, LBound returns 0. UBound returns -1 in this case. This can be used to detect whether a certain dimension exists in the array, and also works when used on an empty array which does not have any valid dimensions.
Thus, for empty dynamic arrays, we get:
- Lbound(array) = 0 and Ubound(array) = -1 (dimension 1 does not exist)
- Lbound(array, 0) = 1 and Ubound(array, 0) = 0 (zero dimensions)
- @array(Lbound(array)) = 0 (no data buffer allocated)
Example
Dim array(-10 To 10, 5 To 15, 1 To 2) As Integer
Print LBound(array) 'returns -10
Print LBound(array, 2) 'returns 5
Print LBound(array, 3) 'returns 1
Print LBound(array) 'returns -10
Print LBound(array, 2) 'returns 5
Print LBound(array, 3) 'returns 1
See also