Cosa sono UBound e LBound in Visual Basic?

Utilizzare le funzioni UBound e LBound per determinare la dimensione di un array.

definizione

La funzione UBound restituisce il valore del pedice più alto disponibile per la dimensione indicata di un array. La funzione LBound fa l'opposto, poiché restituisce l'indice più basso disponibile per la dimensione indicata di un array. Il valore di ritorno di entrambe le funzioni è un tipo di dati intero. Se l'array ha un solo elemento, UBound restituisce 0. La funzione LBound restituisce sempre 0 finché l'array è stato inizializzato, anche se non contiene elementi.

Dimensioni degli accordi

Quando un array usa un indice, si dice che sia unidimensionale. Un array multidimensionale utilizza più di un indice o pedice. È inoltre possibile dichiarare i cosiddetti accordi di disposizioni o accordi irregolari. Questi possono essere unidimensionali o multidimensionali così come gli elementi definiti. Ad esempio, se si dichiara una matrice bidimensionale di mesi, un indice rappresenta i mesi e gli altri giorni. I mesi hanno un numero diverso di giorni, quindi i tuoi elementi non formeranno una disposizione rettangolare bidimensionale. In VB la matrice verrebbe dichiarata come mostrato di seguito:

Dim monthsArray (11, 30) As String

Determinazione della dimensione massima

Gli indici iniziano da 0 per ogni arrangiamento e il massimo è definito dal numero che scrivi nell'array per ogni pedice. È possibile dichiarare una matrice multidimensionale di tipo Byte utilizzando la seguente sintassi:

Dim a (200, 10, 2) As Byte

È possibile ottenere la lunghezza dell'array per ogni pedice utilizzando la funzione UBound. La sintassi "Ubound (a, 1)" [senza virgolette] restituisce un valore di "200". Cambia la posizione del pedice in "2" e il risultato sarà "10". Per ottenere la dimensione del terzo pedice, cambiare la posizione in "3".

Determinazione della dimensione minima

Negli array gli indici iniziano sempre da 0, quindi il più piccolo indice disponibile per ogni dimensione è sempre 0. Dichiarate la successiva matrice di tipo Byte e usate la funzione LBound per ottenere il più piccolo indice disponibile:

Dim a (200, 10, 2) As Byte

Per determinare il valore più piccolo del primo pedice, utilizzare la sintassi (LBound (a, 1) "[senza virgolette] per ottenere 0. Come risultato, cambiare l'indice in" 2 "e la funzione restituirà anche" 0 ". cambia l'indice in "3" e il valore restituito rimarrà "0".