While...End While, instruction (Visual Basic)
Exécute une série d'instructions tant qu'une condition donnée a la valeur True.
While condition
[ statements ]
[ Continue While ]
[ statements ]
[ Exit While ]
[ statements ]
End While
Composants
Terme |
Définition |
condition |
Requis. Expression Boolean. Si condition est Nothing, Visual Basic le traite comme False. |
statements |
Optionnel. Une ou plusieurs instructions suivant While et s'exécutant chaque fois que condition a la valeur True. |
Continue While |
Optionnel. Transfère le contrôle à l'itération suivante du bloc d' While . |
Exit While |
Optionnel. Transfert le contrôle hors du bloc While. |
End While |
Requis. Met fin à la définition du bloc While. |
Notes
Utilisez une structure While...End While lorsque vous souhaitez répéter indéfiniment un ensemble d'instructions, tant qu'une condition reste True. Si vous souhaitez plus de souplesse à l'égard de l'emplacement où vous testez la condition ou du résultat pour lequel vous la testez, vous préférez certainement Do...Loop, instruction (Visual Basic). Si vous souhaitez répéter plusieurs fois les instructions, For...Next, instruction (Visual Basic) constitue généralement un meilleur choix.
Notes
Le mot clé While est aussi utilisé dans Do...Loop, instruction (Visual Basic), Skip While, clause (Visual Basic) et Take While, clause (Visual Basic).
Si condition est True, toutes les statements s'exécutent jusqu'à ce que l'instruction End While soit rencontrée. Le contrôle retourne ensuite à l'instruction d' While , et condition est encore contrôlé. Si condition est toujours True, le processus est répété. Si c'est False, le contrôle passe à l'instruction qui suit l'instruction d' End While .
L'instruction d' While contrôle toujours la condition avant qu'elle démarre la boucle. La boucle continue tant que la condition est True. Si condition est False lorsque vous écrivez d'abord la boucle, elle ne fonctionne pas même une fois.
condition résulte généralement d'une comparaison de deux valeurs, mais elle peut être une expression qui correspond à Booléen, type de données (Visual Basic) une valeur (True ou False). Cette expression peut inclure une valeur d'un autre type de données, tel qu'un type numérique, qui a été converti en Boolean.
Vous pouvez imbriquer les boucles While en plaçant une boucle à l'intérieur d'une autre. Vous pouvez également imbriquer divers types de structures de contrôle l'un dans l'autre. Pour plus d'informations, consultez Structures de contrôle imbriquées (Visual Basic).
Quittez while
L'instruction de Quittez while peut fournir une autre manière de quitter une boucle d' While . d'Exit While transfère le contrôle immédiatement à l'instruction qui suit l'instruction d' End While .
Vous utilisez généralement Exit While après qu'une condition soit évaluée (par exemple, dans une structure d' If...Then...Else ). Vous pouvez éventuellement quitter une boucle si vous décelez une condition qui la rend inutile ou impossible pour poursuivre l'itération, telle qu'une valeur erronée ou une demande d'arrêt. Vous pouvez utiliser Exit While lorsque vous définissez une condition qui peut provoquer une boucle sans fin, qui est une boucle qui peut exécuter un nombre de fois extrêmement volumineux ou même infini. Vous pouvez ensuite utiliser Exit While pour échapper la boucle.
Vous pouvez placer un nombre quelconque d'instructions Exit While n'importe où dans la boucle While.
Utilisée dans des boucles While imbriquées, l'instruction Exit While transfère le contrôle en dehors de la boucle la plus profonde et au niveau d'imbrication supérieur suivant.
D' Continue While d'instruction transfère le contrôle immédiatement à l'itération suivante de la boucle. Pour plus d'informations, consultez Continue, instruction (Visual Basic).
Exemple
Dans l'exemple suivant, les instructions dans la boucle poursuivent leur exécution jusqu'à ce que la variable index soit supérieure à 10.
Dim index As Integer = 0
While index <= 10
Debug.Write(index.ToString & " ")
index += 1
End While
Debug.WriteLine("")
' Output: 0 1 2 3 4 5 6 7 8 9 10
L'exemple ci-dessous illustre l'utilisation des instructions Continue While et Exit While.
Dim index As Integer = 0
While index < 100000
index += 1
' If index is between 5 and 7, continue
' with the next iteration.
If index >= 5 And index <= 8 Then
Continue While
End If
' Display the index.
Debug.Write(index.ToString & " ")
' If index is 10, exit the loop.
If index = 10 Then
Exit While
End If
End While
Debug.WriteLine("")
' Output: 1 2 3 4 9 10
L'exemple suivant lit toutes les lignes dans un fichier texte. La méthode OpenText ouvre le fichier et retourne un StreamReader qui lit les caractères. Dans l'état d' While , la méthode d' Peek d' StreamReader détermine si le fichier contient des caractères spéciaux.
Private Sub ShowText(ByVal textFilePath As String)
If System.IO.File.Exists(textFilePath) = False Then
Debug.WriteLine("File Not Found: " & textFilePath)
Else
Dim sr As System.IO.StreamReader = System.IO.File.OpenText(textFilePath)
While sr.Peek() >= 0
Debug.WriteLine(sr.ReadLine())
End While
sr.Close()
End If
End Sub
Voir aussi
Référence
Do...Loop, instruction (Visual Basic)
For...Next, instruction (Visual Basic)
Booléen, type de données (Visual Basic)
Exit, instruction (Visual Basic)
Continue, instruction (Visual Basic)