Comment : initialiser une variable tableau en Visual Basic
Vous initialisez une variable de 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 permettre de le déduire 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 dans Visual Basic.
Pour initialiser une variable tableau à l'aide d'un littéral de tableau
Dans la clause New, ou lorsque vous assignez la valeur de tableau, fournissez les valeurs d'élément en les plaçant entre accolades ({}). L'exemple suivant illustre plusieurs méthodes permettant de déclarer, de créer et d'initialiser une variable destinée à contenir un tableau qui comporte 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}
Après l'exécution de chaque instruction , le tableau créé a une de longueur de 3, avec des é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'êtes pas obligé de spécifier la limite supérieure d'index si vous fournissez des valeurs d'éléments dans un littéral de tableau. Si aucune limite supérieure n'est spécifiée, la taille du tableau est déduite selon le nombre de valeurs présentes dans le littéral de tableau.
Pour initialiser une variable tableau multidimensionnel à l'aide des littéraux de tableaux
Imbriquez des valeurs entre accolades ({}) au sein d'accolades. Veillez à ce que les littéraux de tableaux imbriqués soient tous déduits en tant que tableaux du même type et de même longueur. L'exemple de code suivant illustre plusieurs méthodes 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 explicitement les limites d'index de tableau ou les ignorer et laisser le compilateur les déduire selon les valeurs présentes dans le 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 illustre plusieurs méthodes permettant de déclarer, de créer et d'initialiser une variable destinée à contenir un tableau à deux dimensions qui comporte 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}}
Après l'exécution de chaque instruction, le tableau créé contient six éléments initialisés ayant les 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 console Windows qui est écrite en Visual Basic, collez le code dans la méthode Sub Main(). Les derniers commentaires illustrent 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 des littéraux de tableaux
Imbriquez des valeurs d'objet entre accolades ({}). Bien que vous puissiez également imbriquer des littéraux de tableaux qui spécifient des tableaux de longueurs différentes, dans le cas d'un tableau en escalier, veillez à ce que les littéraux de tableaux imbriqués soient placés entre parenthèses (()). Les parenthèses forcent l'évaluation des littéraux de tableaux imbriqués et les tableaux obtenus sont utilisés comme valeurs initiales du tableau en escalier. L'exemple de code suivant illustre deux méthodes 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 console Windows qui est écrite en Visual Basic, collez le code dans la méthode Sub Main(). Les derniers commentaires du code illustrent 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
Tâches
Dépannage des tableaux (Visual Basic)