Freigeben über


Während... End While-Anweisung (Visual Basic)

Führt eine Reihe von Anweisungen aus, solange eine bestimmte Bedingung ist True.

Syntax

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

Bestandteile

Begriff Definition
condition Erforderlich. Boolean Ausdruck. Wenn condition ja Nothing, behandelt Visual Basic sie als False.
statements Wahlfrei. Eine oder mehrere Anweisungen folgen While, die jedes Mal condition ausgeführt werden, lautet True.
Continue While Wahlfrei. Überträgt die Steuerung an die nächste Iteration des While Blocks.
Exit While Wahlfrei. Überträgt die Kontrolle über den While Block.
End While Erforderlich. Beendet die Definition des While Blocks.

Bemerkungen

Verwenden Sie eine While...End While Struktur, wenn Sie eine Reihe von Anweisungen beliebig oft wiederholen möchten, solange eine Bedingung verbleibt True. Wenn Sie mehr Flexibilität bei der Prüfung der Bedingung oder dem Ergebnis wünschen, auf das Sie sie testen, bevorzugen Sie möglicherweise die Aufgabe... Loop-Anweisung. Wenn Sie die Anweisungen mehrmals wiederholen möchten, wird die For... Next Statement ist in der Regel eine bessere Wahl.

Hinweis

Das While Schlüsselwort wird auch in der Do verwendet... Loop-Anweisung, die Skip While-Klausel und die Take While-Klausel.

Wenn condition dies der Grund ist True, werden alle statements Ausgeführten ausgeführt, bis die End While Anweisung gefunden wird. Das Steuerelement kehrt dann zur While Anweisung zurück und condition wird erneut überprüft. Wenn condition der Vorgang noch Truebesteht, wird der Prozess wiederholt. Ist dies der FalseAnsicht, wird das Steuerelement an die Anweisung übergeben, die auf die End While Anweisung folgt.

Die While Anweisung überprüft immer die Bedingung, bevor sie die Schleife startet. Die Schleifenschleife wird fortgesetzt, während die Bedingung bleibt True. False Wenn condition Sie die Schleife zum ersten Mal eingeben, wird sie nicht einmal ausgeführt.

Dies condition führt in der Regel zu einem Vergleich von zwei Werten, kann jedoch ein beliebiger Ausdruck sein, der zu einem booleschen Datentypwert (True oder False) ausgewertet wird. Dieser Ausdruck kann einen Wert eines anderen Datentyps enthalten, z. B. einen numerischen Typ, der in konvertiert Booleanwurde.

Sie können Schleifen verschachteln While , indem Sie eine Schleife in einer anderen Schleife platzieren. Sie können auch verschiedene Arten von Steuerelementstrukturen ineinander verschachteln. Weitere Informationen finden Sie unter Geschachtelte Kontrollstrukturen.

Beenden während

Die Exit While-Anweisung kann eine andere Möglichkeit zum Beenden einer While Schleife bieten. Exit While überträgt sofort die Kontrolle an die Anweisung, die auf die End While Anweisung folgt.

Sie verwenden Exit While in der Regel, nachdem eine Bedingung ausgewertet wurde (z. B. in einer If...Then...Else Struktur). Möglicherweise möchten Sie eine Schleife beenden, wenn Sie eine Bedingung erkennen, die es unnötig oder unmöglich macht, das Iterieren fortzusetzen, z. B. einen fehlerhaften Wert oder eine Beendigungsanforderung. Sie können verwenden Exit While , wenn Sie auf eine Bedingung testen, die eine Endlosschleife verursachen könnte, bei der es sich um eine Schleife handelt, die eine extrem große oder sogar unendliche Anzahl von Malen ausführen kann. Sie können dann verwenden Exit While , um die Schleife zu escapen.

Sie können eine beliebige Anzahl von Exit While Anweisungen an einer beliebigen Stelle in der While Schleife platzieren.

Wenn sie in geschachtelten While Schleifen verwendet wird, Exit While überträgt die Kontrolle über die innerste Schleife und in die nächste höhere Schachtelungsebene.

Die Continue While Anweisung überträgt die Steuerung sofort an die nächste Iteration der Schleife. Weitere Informationen finden Sie unter Anweisung fortsetzen.

Beispiel 1

Im folgenden Beispiel werden die Anweisungen in der Schleife weiterhin ausgeführt, bis die index Variable größer als 10 ist.

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 

Beispiel 2

Im folgenden Beispiel wird die Verwendung der Continue While- und Exit While-Anweisungen veranschaulicht.

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

Beispiel 3

Im folgenden Beispiel werden alle Zeilen in einer Textdatei gelesen. Die OpenText Methode öffnet die Datei und gibt einen StreamReader Wert zurück, der die Zeichen liest. In der While Bedingung bestimmt die Peek Methode StreamReader der Datei, ob die Datei zusätzliche Zeichen enthält.

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

Siehe auch