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

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

Rank
Int32

Optional. Integer. Dimensione per la quale deve essere restituito il pedice più alto possibile. Usare 1 per la prima dimensione, 2 per la seconda e così via. Se Rank viene omesso, si presuppone 1.

Valori restituiti

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

Eccezioni

Array è Nothing.

Rank è minore di 1 oppure Rank è maggiore del rango di Array.

Esempio

Nell'esempio seguente viene utilizzata la UBound funzione per determinare il pedice 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 all'indice 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 regolare il valore restituito per tenere conto del fatto che gli 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