Programmation Visual Basic .NET/Boucles

Un livre de Wikilivres.
Aller à : navigation, rechercher
Visual Basic .NET
Visual Basic .NET
Sommaire
Bases du langage
Opérateurs
Programmation orientée objet
Structure de données avancée
Modifier ce modèle

Il existe plusieurs structures de boucles en VB.NET.

Boucle Do...Loop Until[modifier | modifier le wikicode]

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 | modifier le wikicode]

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 | modifier le wikicode]

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 | modifier le wikicode]

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 | modifier le wikicode]

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 rouge.

  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 | modifier le wikicode]

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