Comment : initialiser une variable tableau en Visual Basic

Vous initialisez une variable tableau en incluant un littéral de tableau dans une clause New et en spécifiant les valeurs initiales du tableau. Vous pouvez spécifier le type ou l’autoriser à être déduit à partir des valeurs du littéral de tableau. Pour plus d’informations sur la façon dont le type est déduit, consultez « Remplissage d’un tableau avec des valeurs initiales » dans Tableaux.

Pour initialiser une variable tableau à l’aide d’un littéral de tableau

  • Dans la clause New, ou lorsque vous affectez la valeur du tableau, fournissez les valeurs d’élément à l’intérieur des accolades ({}). L’exemple suivant montre plusieurs façons de déclarer, de créer et d’initialiser une variable pour contenir un tableau avec des éléments de type Char.

    ' The following five lines of code create the same array.
    ' Preferred syntaxes are on the lines with chars1 and chars2.
    Dim chars1 = {"%"c, "&"c, "@"c}
    Dim chars2 As Char() = {"%"c, "&"c, "@"c}
    
    Dim chars3() As Char = {"%"c, "&"c, "@"c}
    Dim chars4 As Char() = New Char(2) {"%"c, "&"c, "@"c}
    Dim chars5() As Char = New Char(2) {"%"c, "&"c, "@"c}
    

    Une fois chaque instruction exécutée, le tableau créé a une longueur de 3, les éléments de l’index 0 à l’index 2 contenant les valeurs initiales. Si vous fournissez à la fois la limite supérieure et les valeurs, vous devez inclure une valeur pour chaque élément de l’index 0 jusqu’à la limite supérieure.

    Notez que vous n’avez pas besoin de spécifier la limite supérieure de l’index si vous fournissez des valeurs d’élément dans un littéral de tableau. Si aucune limite supérieure n’est spécifiée, la taille du tableau est déduite en fonction du nombre de valeurs dans le littéral de tableau.

Pour initialiser une variable de tableau multidimensionnel à l’aide de littéraux de tableau

  • Imbriquez les valeurs à l’intérieur des accolades ({}) au sein des accolades. Assurez-vous que les littéraux de tableaux imbriqués sont tous déduits en tant que tableaux du même type et de la même longueur. L’exemple de code suivant montre plusieurs exemples d’initialisation de tableau multidimensionnel.

    Dim numbers = {{1, 2}, {3, 4}, {5, 6}}
    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}}}
    
  • Vous pouvez spécifier de façon explicite les limites de tableau ou les laisser de côté et faire en sorte que le compilateur déduit les limites de tableau en fonction des valeurs du littéral de tableau. Si vous fournissez à la fois les limites supérieures et les valeurs, vous devez inclure une valeur pour chaque élément de l’index 0 jusqu’à la limite supérieure dans chaque dimension. L’exemple suivant montre plusieurs façons de déclarer, de créer et d’initialiser une variable pour contenir un tableau à deux dimensions avec des éléments de type Short

    ' The following five lines of code create the same array.
    ' Preferred syntaxes are on the lines with scores1 and scores2.
    Dim scores1 = {{10S, 10S, 10S}, {10S, 10S, 10S}}
    Dim scores2 As Short(,) = {{10, 10, 10}, {10, 10, 10}}
    
    Dim scores3(,) As Short = {{10, 10, 10}, {10, 10, 10}}
    Dim scores4 As Short(,) = New Short(1, 2) {{10, 10, 10}, {10, 10, 10}}
    Dim scores5(,) As Short = New Short(1, 2) {{10, 10, 10}, {10, 10, 10}}
    

    Une fois chaque instruction exécutée, le tableau créé contient six éléments initialisés qui ont des index (0,0), (0,1), (0,2), (1,0), (1,1) et (1,2). Chaque emplacement de tableau contient la valeur 10.

  • L’exemple suivant itère au sein d’un tableau multidimensionnel. Dans une application de console Windows écrite dans Visual Basic, collez le code à l’intérieur de la méthode Sub Main(). Les derniers commentaires affichent la sortie.

    Dim numbers = {{1, 2}, {3, 4}, {5, 6}}
    
    ' Iterate through the array.
    For index0 = 0 To numbers.GetUpperBound(0)
        For index1 = 0 To numbers.GetUpperBound(1)
            Debug.Write(numbers(index0, index1).ToString & " ")
        Next
        Debug.WriteLine("")
    Next
    ' Output
    '  1 2
    '  3 4
    '  5 6
    

Pour initialiser une variable tableau en escalier à l’aide de littéraux de tableaux

  • Imbriquez les valeurs d’objet à l’intérieur des accolades ({}). Bien que vous puissiez également imbriquer des littéraux de tableaux spécifiant des tableaux de longueurs différentes, dans le cas d’un tableau en escalier, assurez-vous que les littéraux de tableaux imbriqués sont placés entre parenthèses (()). Les parenthèses forcent l’évaluation des littéraux de tableaux imbriqués, et les tableaux résultants sont utilisés comme valeurs initiales du tableau en escalier. L’exemple de code suivant montre deux exemples d’initialisation de tableau en escalier.

    ' Create a jagged array of arrays that have different lengths.
    Dim jaggedNumbers = {({1, 2, 3}), ({4, 5}), ({6}), ({7})}
    
    ' Create a jagged array of Byte arrays.
    Dim images = {New Byte() {}, New Byte() {}, New Byte() {}}
    
  • L’exemple suivant itère au sein d’un tableau en escalier. Dans une application de console Windows écrite dans Visual Basic, collez le code à l’intérieur de la méthode Sub Main(). Les derniers commentaires du code affichent la sortie.

    ' Create a jagged array of arrays that have different lengths.
    Dim jaggedNumbers = {({1, 2, 3}), ({4, 5}), ({6}), ({7})}
    
    For indexA = 0 To jaggedNumbers.Length - 1
        For indexB = 0 To jaggedNumbers(indexA).Length - 1
            Debug.Write(jaggedNumbers(indexA)(indexB) & " ")
        Next
        Debug.WriteLine("")
    Next
    
    ' Output:
    '  1 2 3 
    '  4 5 
    '  6
    '  7
    

Voir aussi