Condividi tramite


Funzione UBound (Visual Basic)

Aggiornamento: novembre 2007

Restituisce l'indice massimo disponibile per la dimensione specificata di una matrice.

Public Function UBound( _
   ByVal Array As System.Array, _ 
   Optional ByVal Rank As Integer = 1 _
) As Integer

Parametri

  • Array
    Obbligatorio. Matrice con dati di qualsiasi tipo, nella quale cercare l'indice massimo disponibile di una dimensione.

  • Rank
    Facoltativo. Integer. Dimensione per la quale restituire l'indice massimo disponibile. È necessario specificare 1 per la prima dimensione, 2 per la seconda e così via. Se Rank viene omesso, verrà utilizzato 1.

Valore restituito

Integer. Il valore massimo che l'indice per la dimensione specificata può contenere. Se Array contiene un solo elemento, UBound restituisce 0. Se Array non contiene invece alcun elemento, ad esempio se si tratta di una stringa di lunghezza zero, UBound restituisce -1.

Eccezioni

Tipo di eccezione

Numero di errore

Condizione

ArgumentNullException

9

Array è Nothing

RankException

9

Rank è minore di 1 oppure Rank è maggiore del numero di dimensioni di Array.

Se si esegue l'aggiornamento delle applicazioni Visual Basic 6.0 che utilizzano la gestione degli errori non strutturata, vedere la colonna "Numero di errore". È possibile confrontare il numero di errore con la Proprietà Number (oggetto Err). Se possibile, tuttavia, si consiglia di sostituire il controllo dell'errore con la procedura illustrata nella sezione Cenni preliminari sulla gestione strutturata delle eccezioni per Visual Basic.

Note

Poiché gli indici di matrice iniziano da 0, la lunghezza di una dimensione risulta maggiore di un'unità rispetto all'indice massimo disponibile per tale dimensione.

Per una matrice con le seguenti dimensioni UBound restituirà i valori indicati nella tabella riportata di seguito:

Dim a(100, 5, 4) As Byte

Chiamata di UBound

Valore restituito

UBound(a, 1)

100

UBound(a, 2)

5

UBound(a, 3)

4

È possibile utilizzare UBound per determinare il numero totale di elementi in una matrice, ma è necessario modificare il valore restituito in modo da tenere conto che l'indice inizia da 0. Nell'esempio riportato di seguito vengono calcolate le dimensioni totali della matrice a dell'esempio precedente:

Dim total As Integer
total = (UBound(A, 1) + 1) * (UBound(A, 2) + 1) * (UBound(A, 3) + 1)

Il valore calcolato in total è 3030, ovvero 101 * 6 * 5.

Esempio

Nell'esempio riportato di seguito la funzione UBound viene utilizzata per determinare l'indice massimo disponibile per la dimensione indicata di una matrice.

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.

Requisiti

Spazio dei nomi: Microsoft.VisualBasic

Modulo: Information

Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

Vedere anche

Riferimenti

Funzione LBound (Visual Basic)

Istruzione Dim (Visual Basic)

Istruzione ReDim (Visual Basic)

ArgumentException

RankException