Information.UBound(Array, Int32) Metodo

Definizione

Restituisce l'indice più alto disponibile per la dimensione indicata di una matrice.

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

Parametri

Array
Array

Obbligatorio. Matrice di qualsiasi tipo di dati. Matrice in cui si desidera trovare l'indice più alto possibile di una dimensione.

Rank
Int32

facoltativo. Integer. Dimensione per cui deve essere restituito l'indice più alto possibile. Utilizzare 1 per la prima dimensione, 2 per la seconda e così via. Se Rank viene omesso, viene utilizzato il valore 1.

Restituisce

Integer. Il valore più alto possibile che può essere contenuto nell'indice per la dimensione specificata. Se Array ha un solo elemento, UBound restituisce 0. Se Array non ha elementi, ad esempio se è una stringa di lunghezza zero, UBound restituisce -1.

Eccezioni

Array è Nothing.

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

Esempio

Nell'esempio seguente viene utilizzata la UBound funzione per determinare l'indice più alto 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.

Commenti

Poiché i pedice di matrice iniziano da 0, la lunghezza di una dimensione è maggiore di uno rispetto al pedice più alto disponibile per tale dimensione.

Per una matrice con le dimensioni seguenti, UBound restituisce i valori nella tabella seguente:

Dim a(100, 5, 4) As Byte  
Chiamata a UBound Valore restituito
UBound(a, 1) 100
UBound(a, 2) 5
UBound(a, 3) 4

È possibile usare UBound per determinare il numero totale di elementi in una matrice, ma è necessario modificare il valore restituito in base al fatto che i pedice iniziano da 0. Nell'esempio seguente vengono calcolate le dimensioni totali della matrice a nell'esempio precedente:

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

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

Si applica a

Vedi anche