Information.UBound(Array, Int32) 方法 
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回数组的指示维度的最大可用下标。
public static int UBound (Array Array, int Rank = 1);static member UBound : Array * int -> intPublic 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。