共用方式為


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。

例外狀況

例外狀況類型

錯誤代碼

條件

ArgumentNullException

9

Array 是Nothing

RankException

9

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 中)

請參閱

參考

LBound 函式 (Visual Basic)

Dim 陳述式 (Visual Basic)

ReDim 陳述式 (Visual Basic)

ArgumentException

RankException