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
Optional.
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 開始,維度長度比該維度中可用的最大下標大一。
對於維度為以下的陣列, 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。