Information.UBound(Array, Int32) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回数组的指示维度的最大可用下标。
public static int UBound (Array Array, int Rank = 1);
static member UBound : Array * int -> int
Public Function UBound (Array As Array, Optional Rank As Integer = 1) As Integer
参数
- Array
- Array
必需。 任何数据类型的数组。 要在其中查找维度的最大可能下标的数组。
- Rank
- Int32
可选。 Integer
. 将返回其最大可用下标的维度。 对第一维使用 1,对第二维使用 2,依此类推。 如果省略 Rank
,则假定为 1。
返回
Integer
. 指定维度的下标可以包含的最大值。 如果 Array
只有一个元素,则 UBound
返回 0。 如果 Array
没有元素,例如它是一个零长度字符串,则 UBound
返回 -1。
例外
Array
为 Nothing
。
Rank
小于 1,或 Rank
大于 Array
的级别。
示例
下面的示例使用 UBound
函数来确定数组的指定维度的最高可用下标。
Dim highest, bigArray(10, 15, 20), littleArray(6) As Integer
highest = UBound(bigArray, 1)
highest = UBound(bigArray, 3)
highest = UBound(littleArray)
' The three calls to UBound return 10, 20, and 6 respectively.
注解
由于数组下标从 0 开始,因此维度的长度大于该维度的最高可用下标的 1。
对于具有以下维度的数组, UBound
返回下表中的值:
Dim a(100, 5, 4) As Byte
调用 UBound | 返回值 |
---|---|
UBound(a, 1) |
100 |
UBound(a, 2) |
5 |
UBound(a, 3) |
4 |
可以使用 UBound
来确定数组中的元素总数,但必须调整它返回的值,以考虑到下标从 0 开始的事实。 以下示例计算上一示例中数组 a
的总大小:
Dim total As Integer
total = (UBound(A, 1) + 1) * (UBound(A, 2) + 1) * (UBound(A, 3) + 1)
计算的 total
值为 3030,即 101 * 6 * 5。