Procedura: inizializzare una matrice irregolare
Aggiornamento: novembre 2007
Quando si specifica una variabile di matrice irregolare, è possibile specificare le lunghezze delle dimensioni solo per la matrice di primo livello. Esistono diversi modi per eseguire tale operazione.
Per inizializzare una variabile di matrice irregolare
Nella dichiarazione della variabile di matrice specificare il limite superiore di primo livello dell'indice nella prima coppia di parentesi, separato da virgole. Nell'esempio riportato di seguito viene dichiarata e creata una variabile che deve contenere una matrice irregolare di elementi Byte, specificando soltanto il limite superiore di primo livello.
Dim rainfall(11)() As Byte
Dopo l'esecuzione di questa istruzione, la matrice nella variabile rainfall conterrà 12 elementi, ciascuno dei quali è una matrice vuota di elementi Byte.
-oppure-
Nella clausola New specificare il limite superiore di primo livello dell'indice nella prima coppia di parentesi, seguito da parentesi graffe vuote ({}). Nell'esempio riportato di seguito viene dichiarata e creata una variabile che deve contenere una matrice irregolare di elementi Short, specificando soltanto il limite superiore di primo livello.
Dim snowfall()() As Short = New Short(11)() {}
Dopo l'esecuzione di questa istruzione, la matrice nella variabile snowfall conterrà 12 elementi, ciascuno dei quali è una matrice vuota di elementi Short.
Nota: È possibile inizializzare il limite superiore di primo livello dell'indice in un'unica posizione. Se un limite superiore viene specificato tra parentesi dopo il nome della variabile di matrice, non è possibile utilizzare una clausola New. Se il limite superiore viene specificato tra parentesi nella clausola New, è necessario lasciare vuote le parentesi dopo il nome della variabile.
-oppure-
Nella clausola New specificare il limite superiore di primo livello dell'indice tra parentesi e immettere i valori degli elementi tra parentesi graffe ({}). Nell'esempio riportato di seguito viene dichiarata, creata e inizializzata una variabile che deve contenere una matrice irregolare di elementi Char, specificando il limite superiore di primo livello e i valori. Notare le clausole New nidificate per l'inizializzazione delle matrici di livello inferiore.
Dim decodeValues()() As Char = New Char(1)() {New Char() {"a"c, "b"c}, New Char() {"p"c, "q"c}}
Dopo l'esecuzione di questa istruzione, la matrice nella variabile decodeValues conterrà due elementi, ciascuno dei quali è una matrice Char di lunghezza 1 in cui l'elemento con indice 0 contiene un valore inizializzato. Se si specificano sia il limite superiore di primo livello che i valori, è necessario includere un valore per ogni elemento di primo livello dall'indice 0 al limite superiore.
-oppure-
Nella clausola New omettere le parentesi di primo livello e fornire i valori degli elementi tra parentesi graffe ({}). Nell'esempio riportato di seguito viene dichiarata, creata e inizializzata una variabile che deve contenere una matrice irregolare di elementi Byte, specificando soltanto i valori degli elementi. Fare attenzione ai due livelli di parentesi graffe nella clausola New.
Dim firstValues()() As Byte = {New Byte() {2, 1}, New Byte() {3, 0}}
Dopo l'esecuzione di questa istruzione, la matrice nella variabile firstValues avrà lunghezza 2 e conterrà elementi firstValues(0) e firstValues(1). Ciascun elemento viene inizializzato come una matrice Byte a due elementi, il primo dei quali conterrà i valori 2 e 1 e il secondo i valori 3 e 0.
Vedere anche
Attività
Procedura: dichiarare una variabile di matrice
Procedura: creare una matrice di matrici
Procedura: inizializzare una variabile di matrice
Procedura: inizializzare una matrice multidimensionale
Risoluzione dei problemi relativi alle matrici
Concetti
Matrici irregolari in Visual Basic
Scrittura di codice compatibile con CLS