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

Aktualisiert: November 2007

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

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

Bestandteile

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

  • statements
    Optional. Eine oder mehrere Anweisungen nach While, die immer ausgeführt werden, wenn conditionTrue 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 conditionTrue 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.

Regeln

  • Art der Bedingung. Die Bedingung ist normalerweise das Ergebnis des Vergleichs zweier Werte. Es kann sich jedoch um einen beliebigen Ausdruck handeln, der einen Wert mit Boolean-Datentyp (Visual Basic) (True oder False) ergibt. Dazu gehören Werte anderer Datentypen, wie z. B. numerische Typen, die in Boolean umgewandelt wurden.

  • Testen der Bedingung. Die While-Anweisung überprü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 anderen Steuerungsstrukturen schachteln. Weitere Informationen finden Sie unter Geschachtelte Steuerungsstrukturen.

  • Ü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 jeder Stelle der While-Schleife einfügen. Exit While wird häufig nach der Auswertung einer Bedingung verwendet, z. B. in einer If...Then...Else-Struktur.

  • Endlosschleifen. Mit Exit While kann eine Bedingung getestet werden, 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

Konzepte

Schleifenstruktur

Geschachtelte Steuerungsstrukturen

Referenz

Do...Loop-Anweisung (Visual Basic)

For...Next-Anweisung (Visual Basic)

Boolean-Datentyp (Visual Basic)

Exit-Anweisung (Visual Basic)