1. Parcours des tableaux
Pour lire ou écrire les valeurs d’un tableau vous pouvez utiliser une boucle du type for, while ou do…while.
En VB.Net, il existe aussi la boucle For Each qui permet de parcourir très facilement une liste d’éléments (dont les tableaux).
Cette structure est intéressante car elle permet de simplifier considérablement le code. Voici un exemple :
For Each valeur As Integer In valeurs
Console.WriteLine("valeur = {0}", valeur)
Next
Console.WriteLine("valeur = {0}", valeur)
Next
2. Accès aux éléments d'un tableau
Un tableau est une structure de données qui contient un certain nombre de variables accessibles par des indices calculés.
Chaque dimension d'un tableau se caractérise par une longueur. Pour une dimension de longueur N, les indices vont de 0 à N – 1 inclus.
L'accès se fait en plaçant l'index entre parenthèses :
salaire = solde(9)Exemples avec boucles For et For Each
' Exemple avec boucle For classique
Module Module1
Sub Main()
Dim tab() As Integer = New Integer(10) {}
For i As Integer = 0 To 10
tab(i) = (i + 100)
Next
For j As Integer = 0 To 10
Console.WriteLine("Element[{0}] = {1}", j, tab(j))
Next
Console.ReadKey()
End Sub
End Module
Module Module1
Sub Main()
Dim tab() As Integer = New Integer(10) {}
For i As Integer = 0 To 10
tab(i) = (i + 100)
Next
For j As Integer = 0 To 10
Console.WriteLine("Element[{0}] = {1}", j, tab(j))
Next
Console.ReadKey()
End Sub
End Module
' Exemple avec boucle For Each
Module Module1
Sub Main()
Dim tab() As Integer = New Integer(10) {}
For i As Integer = 0 To 10
tab(i) = i + 100
Next
Dim n As Integer = 0
For Each m As Integer In tab
Console.WriteLine("Element[{0}] = {1}", n, m)
n += 1
Next
Console.ReadKey()
End Sub
End Module
Module Module1
Sub Main()
Dim tab() As Integer = New Integer(10) {}
For i As Integer = 0 To 10
tab(i) = i + 100
Next
Dim n As Integer = 0
For Each m As Integer In tab
Console.WriteLine("Element[{0}] = {1}", n, m)
n += 1
Next
Console.ReadKey()
End Sub
End Module
3. Propriétés et Fonctions Utiles
table.Length: Renvoie le nombre total d'éléments que le tableau peut contenir (le produit de toutes les dimensions).
table.Rank: Renvoie le nombre de dimensions du tableau (ex: 2 pour une matrice).
Dim table(,) As String = { {"pain", "beurre"}, {"miel", "confiture"} }
Console.WriteLine(table.Length) ' Affiche : 4
Console.WriteLine(table.Rank) ' Affiche : 2
Console.WriteLine(table.Length) ' Affiche : 4
Console.WriteLine(table.Rank) ' Affiche : 2
Permet de trouver la position d'un élément. Retourne -1 si l'élément n'existe pas.
Dim gouter() As String = {"pain", "beurre", "moutarde"}
Console.WriteLine(Array.IndexOf(gouter, "moutarde")) ' Affiche : 2
Console.WriteLine(Array.IndexOf(gouter, "moutarde")) ' Affiche : 2
L'instruction ReDim est utilisée pour redimensionner la taille d'un tableau existant. Utilisez ReDim Preserve si vous souhaitez conserver les anciennes valeurs pendant l'agrandissement.
Dim monTableau() As Integer = {1, 2, 3}
ReDim Preserve monTableau(5) ' Taille passe à 6 éléments, les anciens restent !
ReDim Preserve monTableau(5) ' Taille passe à 6 éléments, les anciens restent !
Array.Clear(monTableau, index, length): Remplace les éléments par leur valeur par défaut (ex: 0 pour Integer, Nothing pour String).
Array.Clear(nombres, 2, 5) ' Efface 5 éléments à partir de l'index 2