Freigeben über


While...End While-Anweisung (Visual Basic)

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

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

Teile

Begriff

Definition

condition

Erforderlich. Boolean-Ausdruck. Wenn condition Nothing ist, behandelt Visual Basic den Ausdruck als False.

statements

Dies ist optional. Eine oder mehrere Anweisungen nach While, die immer ausgeführt werden, wenn condition True ist.

Continue While

Dies ist optional. Die Steuerung wird zur nächsten Iteration des While-Blocks.

Exit While

Dies ist optional. Überträgt die Steuerung aus dem While-Block.

End While

Erforderlich. Beendet die Definition des While-Blocks.

Hinweise

Verwenden Sie eine While...End While-Struktur, wenn ein Satz von Anweisungen wiederholt werden soll, solange eine Bedingung True bleibt. Wenn Sie festlegen, wo die Bedingung getestet und welches Ergebnis getestet werden soll, und hierfür größere Flexibilität wünschen, empfiehlt sich möglicherweise die Do...Loop-Anweisung (Visual Basic). Wenn die Anweisungen mit einer festgelegten Anzahl von Wiederholungen ausgeführt werden sollen, ist die For...Next-Anweisung (Visual Basic) i. d. R. vorzuziehen.

Hinweis

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

Wenn condition True ist, werden alle statements ausgeführt, bis die End While-Anweisung auftritt. Steuerelement gibt dann zu While die - Anweisung zurück, und condition wird erneut überprüft. Wenn condition noch True ist, wird der Vorgang wiederholt. Wenn es False ist, wird die Steuerung an die Anweisung, die der End While-Anweisung folgt.

Die While-Anweisung prüft die Bedingung stets, bevor die Schleife beginnt. Die Schleife wird ausgeführt, solange die Bedingung True bleibt. Wenn conditionFalse ist, wenn Sie die Schleife eingeben, wird sie nicht noch einmal ausgeführt.

condition ergibt sich normalerweise durch einen Vergleich von zwei Werten, aber es kann ein beliebiger Ausdruck sein, der zu Boolean-Datentyp (Visual Basic) einen Wert ergibt True (oder False). Dieser Ausdruck kann einen Wert eines anderen Datentyps, wie ein numerischer Typ umfassen, der zu Boolean konvertiert wurde.

Sie können While-Schleifen schachteln, indem Sie eine Schleife in eine andere einfügen. Sie können auch unterschiedliche Arten von Steuerungsstrukturen in einer anderen Steuerungsstruktur schachteln. Weitere Informationen finden Sie unter Geschachtelte Steuerungsstrukturen (Visual Basic).

Beenden während

Die Beenden während-Anweisung kann eine andere Möglichkeit bereitstellen, eine While Schleife zu beenden. Er Exit While unmittelbar auf die Anweisung, die der End While-Anweisung folgt.

Sie verwenden in der Regel Exit While, nachdem eine Bedingung ausgewertet ist (beispielsweise, in einer If...Then...Else-Struktur). Möglicherweise möchten Sie eine Schleife beenden, wenn Sie eine Bedingung feststellen, die das Fortsetzen des Durchlaufs unnötig oder unmöglich macht, z. B. ein fehlerhafter Wert oder eine Anforderung zum Beenden. Sie können Exit While verwenden, wenn Sie für eine Bedingung testen, die eine Endlosschleife verursachen könnte, die eine Schleife ist, die eine sehr große oder sogar unbegrenzte Häufigkeit ausführen konnte. Sie können Exit While dann verwenden, um die Schleife zu werden.

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

Bei Verwendung in geschachtelten While-Schleifen überträgt Exit While die Steuerung aus der innersten Schleife auf die nächsthöhere Schachtelungsebene.

Das Steuerelement Continue While-Anweisung sofort Übergangszur folgenden Iteration der Schleife. Weitere Informationen finden Sie unter Continue-Anweisung (Visual Basic).

Beispiel

Im folgenden Beispiel werden weiterhin die Anweisungen in der Schleife 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 

Das folgende Beispiel veranschaulicht die Verwendung der Continue While-Anweisung und der Exit While-Anweisung.

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

Im folgende Beispiel werden alle Zeilen in einer Textdatei gelesen. Die OpenText-Methode öffnet die Datei und gibt einen StreamReader zurück, der die Zeichen liest. In While Zustand bestimmt die Peek-Methode StreamReader, 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

Referenz

Do...Loop-Anweisung (Visual Basic)

For...Next-Anweisung (Visual Basic)

Boolean-Datentyp (Visual Basic)

Exit-Anweisung (Visual Basic)

Continue-Anweisung (Visual Basic)

Konzepte

Schleifenstruktur (Visual Basic)

Geschachtelte Steuerungsstrukturen (Visual Basic)