While...End While-Anweisung (Visual Basic)
Führt eine Reihe von Anweisungen aus, solange eine bestimmte Bedingung True ist.
While condition
[ statements ]
[ Exit While ]
[ statements ]
End While
Bestandteile
Ausdruck |
Definition |
condition |
Erforderlich. Boolean-Ausdruck. Wenn condition Nothing ist, behandelt Visual Basic den Ausdruck als False. |
statements |
Optional. Eine oder mehrere Anweisungen nach While, die immer ausgeführt werden, wenn condition True ist. |
Exit While |
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.
Wenn condition True ist, werden alle statements ausgeführt, bis die End While-Anweisung auftritt. Die Steuerung kehrt dann zur While-Anweisung zurück, und condition wird erneut getestet. Wenn condition noch True ist, wird der Vorgang wiederholt. Wenn die Bedingung False ist, wird die Steuerung an die Anweisung übergeben, die auf die End While-Anweisung folgt.
Tipp
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.
Regeln
Art der Bedingung. Die Bedingung ergibt sich normalerweise durch einen Vergleich zweier Werte. Es kann sich jedoch um einen beliebigen Ausdruck handeln, der zu einem Boolean-Datentyp (Visual Basic)-Wert (True oder False) ausgewertet wird. Dazu gehören Werte anderer Datentypen, wie z. B. numerische Typen, die in Boolean umgewandelt wurden.
Testen der Bedingung. Die While-Anweisung prüft die Bedingung stets vor dem Beginn der Schleife. Die Schleife wird ausgeführt, solange die Bedingung True bleibt.
Anzahl von Iterationen. Wenn condition vor der ersten Ausführung der Schleife False ist, wird die Schleife kein einziges Mal ausgeführt.
Schachteln von Schleifen. 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).
Übertragen der Steuerung aus der Schleife. Die Exit-Anweisung (Visual Basic) überträgt die Steuerung direkt an die erste Anweisung nach der End While-Anweisung. 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 eine beliebige Anzahl von Exit While-Anweisungen an einer beliebigen Stelle in der While-Schleife platzieren. Exit While wird oft nach der Auswertung einer Bedingung verwendet, z. B. in einer If...Then...Else-Struktur.
Endlosschleifen. Die Verwendung von Exit While ist sinnvoll, um eine Bedingung zu testen, die eine Endlosschleife verursachen kann. Hierbei handelt es sich um eine Schleife, die mit einer extrem großen oder unendlichen Anzahl von Wiederholungen ausgeführt werden kann. Wenn Sie eine solche Bedingung feststellen, können Sie Exit While verwenden, um die Schleife zu verlassen. Weitere Informationen finden Sie unter Do...Loop-Anweisung (Visual Basic).
Beispiel
In diesem Beispiel wird die While...End While-Struktur verwendet, um eine Zählervariable zu erhöhen. Die Anweisungen in der Schleife werden ausgeführt, solange die Bedingung True ist.
Dim counter As Integer = 0
While counter < 20
counter += 1
' Insert code to use current value of counter.
End While
MsgBox("While loop ran " & CStr(counter) & " times")
Siehe auch
Referenz
Do...Loop-Anweisung (Visual Basic)
For...Next-Anweisung (Visual Basic)
Boolean-Datentyp (Visual Basic)