Programmation Visual Basic .NET/Boucles
Il existe plusieurs structures de boucles en VB.NET.
Boucle Do...Loop Until
modifier
Un Do...Loop Until
est une boucle qui itère tant que sa condition de sortie est fausse, cette dernière est testée à chaque fin de boucle, donc le programme y passe forcément au moins une fois.
Dim Entier1 As Integer = 4
Do
Entier1 = Entier1 + 1
Loop Until Entier1 > 3
MsgBox(Entier1) ' 5
Boucle Do...Loop While
modifier
Une boucle Do...Loop While
tourne tant que sa condition d'itération est vraie, cette dernière est testée à chaque fin de boucle, donc le programme y passe forcément au moins une fois.
Dim Entier1 As Integer = 4
Do
Entier1 = Entier1 + 1
Loop While Entier1 < 3
MsgBox(Entier1) ' 5
Boucle Do Until...Loop
modifier
Un Do Until...Loop
est une boucle qui itère tant que sa condition de sortie est fausse (comme Do Until...Loop
), cette dernière est testée à chaque début de boucle, donc le programme n'y passe pas forcément.
Dim Entier1 As Integer = 4
Do Until Entier1 > 3
Entier1 = Entier1 + 1
Loop
MsgBox(Entier1) ' 4
Boucle Do While...Loop
modifier
De la même manière, Do While...Loop
tourne tant que sa condition d'itération est vraie (comme Do Until...Loop
) et la teste en amont de chaque boucle.
Dim Entier1 As Integer = 4
Do While Entier1 < 3
Entier1 = Entier1 + 1
Loop
MsgBox(Entier1) ' 4
Boucle For
modifier
Une boucle For
s'exécute un certain nombre de fois, relativement prédéfinie car la valeur du compteur peut changer en cours de route.
Dim Entier1 As Integer = 4
For a = 1 To 10
Entier1 = Entier1 + 1
Next
MsgBox(Entier1) ' 14
Cet exemple s'exécute 10 fois, a = 1, puis 2... puis 10.
Pour changer le sens du compteur :
For a = 10 To 1 Step -1
Entier1 = Entier1 + 1
Next
MsgBox(Entier1) ' 14
S'exécute aussi 10 fois, mais a = 10, puis 9... puis 1.
Remarque : à tout moment il est possible de sortir de la boucle sans attendre sa fin avec Exit for
.
Boucle For Each
modifier
Une boucle For Each
itère pour chaque entrée d'un tableau ou autre objet itérable, qui doit implémenter les interfaces IEnumerable
ou IEnumerator
. L'implémentation de IList
par Array
autorise un tableau à être utilisé comme un objet, car IList
hérite de IEnumerable
.
Dim Liste As Integer() = { 1, 2, 4 }
Dim Ligne As Integer
For Each Ligne In Liste
MsgBox(Ligne) ' affiche 1, puis 2, puis 4
Next