Partager via


Pendant que... End While, instruction (Visual Basic)

Exécute une série d’instructions tant qu’une condition donnée est True.

Syntaxe

While condition
    [ statements ]
    [ Continue While ]
    [ statements ]
    [ Exit While ]
    [ statements ]
End While

Pièces

Terme Définition
condition Obligatoire. Boolean expression. Si condition c’est Nothingle cas, Visual Basic le traite comme False.
statements Optionnel. Une ou plusieurs instructions suivantes While, qui s’exécutent chaque fois condition est True.
Continue While Optionnel. Transfère le contrôle à l’itération suivante du While bloc.
Exit While Optionnel. Transfère le contrôle hors du While bloc.
End While Obligatoire. Termine la définition du While bloc.

Remarques

Utilisez une While...End While structure lorsque vous souhaitez répéter un ensemble d’instructions un nombre indéfini de fois, tant qu’une condition reste True. Si vous souhaitez plus de flexibilité avec l’endroit où vous testez la condition ou le résultat pour lequel vous le testez, vous préférerez peut-être le Do... Instruction de boucle. Si vous souhaitez répéter les instructions un nombre défini de fois, le For... L’instruction suivante est généralement un meilleur choix.

Remarque

Le While mot clé est également utilisé dans le Do... Instruction loop, la clause Skip While et la clause Take While.

Si condition c’est Truele cas, toutes les statements exécutions jusqu’à ce que l’instruction End While soit rencontrée. Le contrôle retourne ensuite à l’instruction While , puis condition est à nouveau vérifié. Si condition c’est toujours Truele cas, le processus est répété. Si c’est Falsele cas, le contrôle passe à l’instruction qui suit l’instruction End While .

L’instruction While vérifie toujours la condition avant de démarrer la boucle. Le bouclage se poursuit pendant que la condition reste True. Si condition c’est False le moment où vous entrez la boucle pour la première fois, elle ne s’exécute pas une seule fois.

Les condition résultats généralement d’une comparaison de deux valeurs, mais il peut s’agir d’une expression qui prend la valeur d’un type de données booléen (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 While des boucles en plaçant une boucle dans une autre. Vous pouvez également imbriquer différents types de structures de contrôle entre elles. Pour plus d’informations, consultez Structures de contrôle imbriquées.

Quitter alors que

L’instruction Exit While peut fournir un autre moyen de quitter une While boucle. Exit While transfère immédiatement le contrôle à l’instruction qui suit l’instruction End While .

Vous utilisez Exit While généralement une fois que certaines conditions sont évaluées (par exemple, dans une If...Then...Else structure). Vous pouvez quitter une boucle si vous détectez une condition qui rend inutile ou impossible de continuer l’itération, telle qu’une valeur erronée ou une demande d’arrêt. Vous pouvez utiliser Exit While quand vous testez une condition qui peut provoquer une boucle infinie, qui est une boucle qui peut exécuter un nombre extrêmement élevé ou même infini de fois. Vous pouvez ensuite utiliser Exit While pour échapper à la boucle.

Vous pouvez placer n’importe quel nombre d’instructions n’importe Exit While où dans la While boucle.

Lorsqu’elles sont utilisées dans des boucles imbriquées While , Exit While transfère le contrôle hors de la boucle la plus interne et dans le niveau supérieur suivant d’imbrication.

L’instruction Continue While transfère immédiatement le contrôle à l’itération suivante de la boucle. Pour en savoir plus, consultez Instruction Continue.

Exemple 1

Dans l’exemple suivant, les instructions de la boucle continuent à s’exécuter jusqu’à ce que la index variable 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 

Exemple 2

L’exemple suivant 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

Exemple 3

L’exemple suivant lit toutes les lignes d’un fichier texte. La OpenText méthode ouvre le fichier et retourne un StreamReader qui lit les caractères. Dans la While condition, la Peek méthode du StreamReader fichier détermine si le fichier contient des caractères supplémentaires.

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