返回数组维度的上限
语法
用法
result = UBound( array [, dimension ] )
参数
array
任何类型的数组
dimension
得到上限的维度
返回值
返回数组维度的上限。
说明
UBound返回可用作数组特定维度的索引的最大值。
阵列尺寸从一个(
1 )编号到
n ,其中
n 是总维度数。如果未指定
dimension ,则
UBound将返回第一个维度的上限。
如果
dimension 为零(0),
UBound返回
n 阵列中的维数。对于超出有效范围
1 ..
n 之外的任何其他
dimension ,结果为
-1 .这可以用于检测可变长度数组的维数,并结合
Lbound()的结果,无论给定维存在,还是数组为空(零)尺寸)。有关详细信息,请参阅
LBound页面。
例子
Dim array(-10 To 10, 5 To 15, 1 To 2) As Integer
Print UBound(array) '返回10
Print UBound(array, 2) '返回15
Print UBound(array, 3) '返回2
''确定数组的大小
Dim As Short array(0 To 9)
Dim As Integer arraylen, arraysize
arraylen = UBound(array) - LBound(array) + 1
arraysize = arraylen * SizeOf( Short )
Print "数组中的元素数:", arraylen '10
Print "数组中使用的字节数:", arraysize '10 * 2 = 20
''确定多维阵列的大小
Dim As Long array4D(1 To 2, 1 To 3, 1 To 4, 1 To 5)
Dim As Integer arraylen, arraysize
arraylen = (UBound(array4D, 4) - LBound(array4D, 4) + 1) _
* (UBound(array4D, 3) - LBound(array4D, 3) + 1) _
* (UBound(array4D, 2) - LBound(array4D, 2) + 1) _
* (UBound(array4D, 1) - LBound(array4D, 1) + 1)
arraysize = arraylen * SizeOf( Long )
Print "数组中的元素数:", arraylen '2 * 3 * 4 * 5 = 120
Print "数组中使用的字节数:", arraysize '120 * 4 = 480
''确定数组是否为空
Dim array() As Integer
Print "LBOUND:"; LBound( array ), "UBOUND:"; UBound( array ) ''1和0
If LBound( array ) > UBound( array ) Then
Print "数组为空"
Else
Print "数组不为空"
End If
Sub printArrayDimensions( array() As Integer )
Print "尺寸:" & UBound( array, 0 )
''对于每个维度...
For d As Integer = LBound( array, 0 ) To UBound( array, 0 )
Print "尺寸" & d & ":" & LBound( array, d ) & "to" & UBound( array, d )
Next
End Sub
Dim array() As Integer
printArrayDimensions( array() )
Print "---"
ReDim array(10 To 11, 20 To 22)
printArrayDimensions( array() )
参考