Condividi tramite


Dimensioni della matrice in Visual Basic

Una dimensione è una direzione in cui è possibile variare la specifica degli elementi di una matrice. Una matrice che contiene il totale delle vendite per ogni giorno del mese ha una dimensione (il giorno del mese). Una matrice che contiene il totale delle vendite per reparto per ogni giorno del mese ha due dimensioni (il numero di reparto e il giorno del mese). Il numero di dimensioni di una matrice è denominato rango.

Annotazioni

È possibile utilizzare la Rank proprietà per determinare il numero di dimensioni di una matrice.

Lavorare con le dimensioni

Specificare un elemento di una matrice specificando un indice o un pedice per ognuna delle relative dimensioni. Gli elementi sono contigui lungo ogni dimensione dall'indice 0 all'indice più alto per tale dimensione.

Le illustrazioni seguenti illustrano la struttura concettuale delle matrici con ranghi diversi. Ogni elemento nelle illustrazioni mostra i valori di indice a cui accede. Ad esempio, è possibile accedere al primo elemento della seconda riga della matrice bidimensionale specificando gli indici (1, 0).

Diagramma che mostra una matrice unidimensionale.

Diagramma che mostra una matrice bidimensionale.

Diagramma che mostra una matrice tridimensionale.

Una dimensione

Molte matrici hanno una sola dimensione, ad esempio il numero di persone di ogni età. L'unico requisito per specificare un elemento è l'età per cui l'elemento detiene il conteggio. Pertanto, tale matrice usa un solo indice. Nell'esempio seguente viene dichiarata una variabile per contenere una matrice unidimensionale di conteggi di età per età compresa tra 0 e 120.

Dim ageCounts(120) As UInteger

Due dimensioni

Alcune matrici hanno due dimensioni, ad esempio il numero di uffici su ogni piano di ogni edificio in un campus. La specifica di un elemento richiede sia il numero di edificio che il piano e ogni elemento contiene il conteggio per tale combinazione di edificio e piano. Pertanto, tale matrice usa due indici. Nell'esempio seguente viene dichiarata una variabile per contenere una matrice bidimensionale di conteggi degli uffici, per gli edifici da 0 a 40 e piani da 0 a 5.

Dim officeCounts(40, 5) As Byte

Una matrice bidimensionale è detta anche matrice rettangolare.

Tre dimensioni

Alcune matrici hanno tre dimensioni, ad esempio i valori nello spazio tridimensionale. Tale matrice usa tre indici, che in questo caso rappresentano le coordinate x, y e z dello spazio fisico. Nell'esempio seguente viene dichiarata una variabile per contenere una matrice tridimensionale di temperature dell'aria in vari punti di un volume tridimensionale.

Dim airTemperatures(99, 99, 24) As Single

Più di tre dimensioni

Anche se una matrice può avere fino a 32 dimensioni, è raro avere più di tre.

Annotazioni

Quando si aggiungono dimensioni a una matrice, l'archiviazione totale necessaria per la matrice aumenta notevolmente, quindi usare matrici multidimensionali con attenzione.

Utilizzo di dimensioni diverse

Si supponga di voler tenere traccia degli importi delle vendite per ogni giorno del mese corrente. È possibile dichiarare una matrice unidimensionale con 31 elementi, uno per ogni giorno del mese, come illustrato nell'esempio seguente.

Dim salesAmounts(30) As Double

Si supponga ora di voler tenere traccia delle stesse informazioni non solo per ogni giorno di un mese, ma anche per ogni mese dell'anno. È possibile dichiarare una matrice bidimensionale con 12 righe (per i mesi) e 31 colonne (per i giorni), come illustrato nell'esempio seguente.

Dim salesAmounts(11, 30) As Double

Ora supponi di decidere di far sì che il tuo array contenga informazioni per più di un anno. Se si desidera tenere traccia degli importi delle vendite per 5 anni, è possibile dichiarare una matrice tridimensionale con 5 livelli, 12 righe e 31 colonne, come illustrato nell'esempio seguente.

Dim salesAmounts(4, 11, 30) As Double

Si noti che, poiché ogni indice varia da 0 al massimo, ogni dimensione di salesAmounts viene dichiarata come una minore della lunghezza necessaria per tale dimensione. Si noti anche che le dimensioni della matrice aumentano con ogni nuova dimensione. Le tre dimensioni negli esempi precedenti sono rispettivamente 31, 372 e 1.860 elementi.

Annotazioni

È possibile creare una matrice senza usare l'istruzione Dim o la New clausola . Ad esempio, è possibile chiamare il metodo CreateInstance, oppure un altro componente può passare il tuo codice a una matrice creata in questo modo. Tale matrice può avere un limite inferiore diverso da 0. È sempre possibile verificare il limite inferiore di una dimensione usando il GetLowerBound metodo o la LBound funzione .

Vedere anche