Share via


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.

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)

Concepts

Structures de boucle (Visual Basic)

Structures de contrôle imbriquées (Visual Basic)