Condividi tramite


Procedura: inizializzare una variabile di matrice

Aggiornamento: novembre 2007

Una matrice può essere inizializzata al momento della creazione, direttamente nella clausola New (Visual Basic), oppure nelle istruzioni di assegnazione successive.

Di seguito sono elencati gli aspetti di una matrice che è possibile inizializzare.

  • I limiti superiori dell'indice, che specificano le lunghezze delle dimensioni della matrice.

  • I valori di alcuni o di tutti gli elementi della matrice.

Non è necessario inizializzare entrambi gli aspetti. Tuttavia, se si forniscono i valori degli elementi ma non i limiti superiori, questi ultimi verranno determinati dal numero di valori specificati.

Per inizializzare una matrice nella clausola New al momento della creazione

  • Nella clausola New specificare il limite superiore dell'indice tra parentesi tonde 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 con elementi del Tipo di dati Char (Visual Basic), specificando il limite superiore e i valori.

    Dim testChars As Char() = New Char(2) {"%"c, "&"c, "@"c}
    

    Dopo l'esecuzione di questa istruzione, la matrice nella variabile testChars avrà lunghezza 3 e gli elementi tra l'indice 0 e l'indice 2 conterranno i valori inizializzati. Se si specificano sia il limite superiore che i valori, è necessario includere un valore per ogni elemento dall'indice 0 al limite superiore.

    Il carattere di tipo letterale c impone un carattere letterale sul tipo di dati Char. Per impostazione predefinita, se non viene specificato un tipo di carattere, il valore letterale racchiuso tra virgolette (" ") utilizza String.

    Non è necessario specificare il limite superiore dell'indice se si forniscono i valori degli elementi nella clausola New. Nell'esempio riportato di seguito viene dichiarata, creata e inizializzata una variabile che deve contenere una matrice con elementi del Tipo di dati Boolean (Visual Basic), specificando solo i valori degli elementi.

    Dim answers As Boolean() = New Boolean() {True, True, False, True}
    

    Dopo l'esecuzione dell'istruzione, la matrice nella variabile answers avrà lunghezza 4 e gli elementi tra gli indici 0 e 3 conterranno i valori inizializzati.

È possibile inizializzare il limite superiore dell'indice senza inizializzare alcun elemento. Se si crea una matrice in questo modo, è necessario utilizzare una successiva istruzione di assegnazione per inizializzare il valore di ciascun elemento.

Per inizializzare una matrice nelle istruzioni di assegnazione successive

  1. Specificare il limite superiore dell'indice nella dichiarazione di variabile di matrice.

  2. Utilizzare una o più istruzioni di assegnazione, ciascuna delle quali assegna un valore a uno degli elementi della matrice. Nell'esempio riportato di seguito viene dichiarata, creata e inizializzata una variabile che deve contenere una matrice con elementi del Tipo di dati String (Visual Basic) e vengono forniti i valori di due elementi nelle istruzioni successive.

    Dim comments(30) As String
    comments(0) = "This is the first comment."
    comments(5) = "This is the sixth comment."
    

    Dopo l'esecuzione di queste istruzioni, la matrice nella variabile comments avrà lunghezza 31 e gli elementi tra gli indici 0 e 5 conterranno i valori inizializzati mentre gli altri 29 elementi conterranno i valori predefiniti. Se si inizializza una matrice in questo modo, è possibile inizializzare alcuni elementi e ignorarne altri.

-oppure-

  • Utilizzare l'Istruzione ReDim (Visual Basic) per inizializzare la lunghezza della matrice.

    ReDim comments(5)
    

    Dopo l'esecuzione di questa istruzione, la matrice nella variabile comments avrà lunghezza 6 e tutti gli elementi conterranno i valori predefiniti.

    Nota:

    È possibile inizializzare il limite superiore 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.

Vedere anche

Attività

Procedura: dichiarare una variabile di matrice

Procedura: creare una matrice

Procedura: inizializzare una matrice multidimensionale

Procedura: inizializzare una matrice irregolare

Risoluzione dei problemi relativi alle matrici

Concetti

Cenni preliminari sulle matrici in Visual Basic

Altre risorse

Matrici in Visual Basic