Condividi tramite


Procedura: inizializzare variabili di matrice in Visual Basic

È possibile utilizzare un valore letterale di matrice per popolare una matrice con i valori iniziali al momento della creazione. È possibile includere il valore letterale di matrice come parte della clausola New e specificare in modo esplicito il tipo. Se non si specifica un tipo degli elementi di matrice, il tipo viene dedotto dai valori nel valore letterale di matrice. Per informazioni dettagliate su come viene dedotto il tipo, vedere l'argomento relativo al popolamento di una matrice con i valori iniziali in Matrici in Visual Basic.

Per inizializzare una variabile di matrice tramite un valore letterale di matrice

  • Nella clausola New o quando si assegna il valore della matrice, fornire i valori degli elementi tra parentesi graffe ({}). Nell'esempio seguente vengono illustrati diversi modi per dichiarare, creare e inizializzare una variabile in modo che contenga una matrice con elementi di tipo Char.

    ' The following three lines of code create the same array.
    Dim chars1() As Char = New Char(2) {"%"c, "&"c, "@"c}
    Dim chars2 = {"%"c, "&"c, "@"c}
    Dim chars3() As Char = {"%"c, "&"c, "@"c}
    

    Dopo l'esecuzione di queste istruzioni, la matrice creata ha una lunghezza di 3 e gli elementi tra l'indice 0 e l'indice 2 contengono i valori iniziali. Se si specificano sia il limite superiore che i valori, è necessario includere un valore per ogni elemento dall'indice 0 al limite superiore.

    Si noti che non è necessario specificare il limite superiore dell'indice se si forniscono i valori degli elementi in un valore letterale di matrice. Se non viene specificato alcun limite superiore, la dimensione della matrice viene dedotta in base al numero di valori nel valore letterale di matrice.

Per inizializzare una variabile di matrice multidimensionale tramite valori letterali della matrice

  • Annidare i valori tra parentesi graffe ({}). Assicurarsi che i valori letterali della matrice annidati vengano tutti dedotti come matrici dello stesso tipo e con la stessa lunghezza. Nell'esempio di codice seguente vengono illustrati diversi esempi di inizializzazione di matrici multidimensionali.

    Dim ticTacToe = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}}
    Dim customerData = {{"City Power & Light", "http://www.cpandl.com/"},
                        {"Wide World Importers", "http://wideworldimporters.com"},
                        {"Lucerne Publishing", "http://www.lucernepublishing.com"}}
    
    ' You can nest array literals to create arrays that have more than two 
    ' dimensions.
    Dim twoSidedCube = {{{1, 2}, {3, 4}}, {{5, 6}, {7, 8}}}
    
  • È possibile specificare in modo esplicito i limiti della matrice o tralasciarli e fare in modo che il compilatore li deduca in base ai valori nel valore letterale di matrice. Se si specificano sia i limiti superiori che i valori, è necessario includere un valore per ogni elemento dall'indice 0 al limite superiore in ciascuna dimensione. Nell'esempio seguente vengono illustrati diversi modi per dichiarare, creare e inizializzare una variabile in modo che contenga una matrice bidimensionale con elementi di tipo Short.

    ' The following three lines of code create the same array.
    Dim startingScores1(,) As Short = New Short(1, 2) {{10, 10, 10}, {10, 10, 10}}
    Dim startingScores2 = {{10S, 10S, 10S}, {10S, 10S, 10S}}
    Dim startingScores3(,) As Short = {{10, 10, 10}, {10, 10, 10}}
    

    In seguito all'esecuzione di questa istruzione, la matrice creata contiene sei elementi inizializzati che includono gli indici (0,0), (0,1), (0,2), (1,0), (1,1) e (1,2). Ogni posizione della matrice contiene il valore 10.

Per inizializzare una variabile di matrice di matrici tramite valori letterali della matrice

  • Annidare i valori degli oggetti tra parentesi graffe ({}). Sebbene sia possibile annidare anche valori letterali della matrice che specificano matrici di lunghezze diverse, nel caso di una matrice di matrici assicurarsi che i valori letterali della matrice annidati siano racchiusi tra parentesi (()). Le parentesi forzano la valutazione dei valori letterali della matrice annidati e le matrici risultanti vengono utilizzate come valori iniziali della matrice di matrici. Nell'esempio di codice seguente vengono illustrati diversi esempi di inizializzazione di matrici di matrici.

    ' Create a jagged array of arrays that have different lengths.
    Dim diagonal = {({0, 0, 0}), ({0, 0}), ({0})}
    
    ' Create a jagged array of Byte arrays.
    Dim images = {New Byte() {}, New Byte() {}, New Byte() {}}
    

Vedere anche

Attività

Risoluzione dei problemi relativi alle matrici (Visual Basic)

Concetti

Matrici in Visual Basic