UBound 函式 (Visual Basic)
更新:2007 年 11 月
傳回陣列中所指定維度的最高可用註標。
Public Function UBound( _
ByVal Array As System.Array, _
Optional ByVal Rank As Integer = 1 _
) As Integer
參數
Array
必要項。任何資料型別的陣列。您想在該陣列中找到維度的最高可能註標。Rank
選擇項。Integer。要傳回可能之最高註標所針對的維度。使用 1 表示第一個維度,2 表示第二個維度,依此類推。若省略 Rank,則假設為 1。
傳回值
Integer。指定維度的註標可以包含的最高值。如果 Array 只有一個項目,UBound 將傳回 0。如果 Array 沒有項目 (例如,若它是長度為零的字串),UBound 將傳回 -1。
例外狀況
例外狀況類型 |
錯誤代碼 |
條件 |
---|---|---|
Array 是Nothing |
||
Rank 小於 1 或 Rank 大於 Array 的陣序規範。 |
如果將使用非結構化錯誤處理的 Visual Basic 6.0 應用程式升級,請參閱「錯誤代碼」資料行 (您可以將錯誤代碼與 Number 屬性 (Err 物件) 比對)。但是,請盡可能考慮以 Visual Basic 的結構化例外處理概觀 取代這類錯誤控制項。
備註
由於陣列註標起始為 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。
範例
下列範例會使用 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.
需求
命名空間 (Namespace)︰Microsoft.VisualBasic
模組:Information
組件 (Assembly):Visual Basic Runtime Library (在 Microsoft.VisualBasic.dll 中)