Gewusst wie: Mehrfaches Ausführen von mehreren Anweisungen
Aktualisiert: November 2007
Sie können Schleifenstrukturen verwenden, um einen Block von Anweisungen wiederholt auszuführen. Die Anzahl der Schleifenwiederholungen kann unbestimmt sein und sich nach dem Boolean-Wert einer Bedingung richten. Sie kann aber auch durch eine spezielle Variable genau festgelegt sein.
Unbestimmte Anzahl von Schleifenwiederholungen
So führen Sie eine Gruppe von Anweisungen aus, solange eine Bedingung den Wert True hat
Verwenden Sie die While...End While-Anweisung (Visual Basic), um die Bedingung anzugeben, welche die Wiederholung der Schleife steuert. Im folgenden Beispiel wird der Anweisungsblock wiederholt, solange number größer als 6 ist.
Sub checkWhile() Dim counter As Integer = 0 Dim number As Integer = 10 While number > 6 number -= 1 counter += 1 End While MsgBox("The loop ran " & counter & " times.") End Sub
Die While-Anweisung prüft die Bedingung stets vor dem Beginn der Schleife. Falls number mit 6 anstatt mit 10 initialisiert gewesen wäre, würden die Anweisungen innerhalb der Schleife niemals ausgeführt werden.
So führen Sie eine Gruppe von Anweisungen aus, während eine Bedingung den Wert True behält
Verwenden Sie die Do...Loop-Anweisung (Visual Basic), und geben Sie die Testbedingung entweder am Anfang oder am Ende der Schleife an. Die Platzierung des While (Visual Basic)-Schlüsselworts bestimmt, wo die Bedingung getestet wird. Dies wird anhand des folgenden Beispiels veranschaulicht:
Sub checkWhileFirst() Dim counter As Integer = 0 Dim number As Integer = 10 Do While number > 6 number -= 1 counter += 1 Loop MsgBox("The loop ran " & counter & " times.") End Sub Sub checkWhileLast() Dim counter As Integer = 0 Dim number As Integer = 5 Do number -= 1 counter += 1 Loop While number > 6 MsgBox("The loop ran " & counter & " times.") End Sub
Im vorhergehenden Beispiel wird die erste Do-Schleife vier Mal und die zweite Do-Schleife einmal ausgeführt.
So führen Sie eine Gruppe von Anweisungen aus, bis eine Bedingung den Wert True erhält
Verwenden Sie die Do...Loop-Konstruktion mit dem Until-Schlüsselwort statt des While-Schlüsselworts. Ebenso wie bei While bestimmt die Platzierung des Schlüsselworts, wo die Bedingung getestet wird. Dies wird anhand des folgenden Beispiels veranschaulicht:
Sub checkUntilFirst() Dim counter As Integer = 0 Dim number As Integer = 20 Do Until number = 15 number -= 1 counter += 1 Loop MsgBox("The loop ran " & counter & " times.") End Sub Sub checkUntilLast() Dim counter As Integer = 0 Dim number As Integer = 20 Do number -= 1 counter += 1 Loop Until number = 15 MsgBox("The loop ran " & counter & " times.") End Sub
Im vorhergehenden Beispiel wird jede Do-Schleife fünf Mal ausgeführt.
Feste Anzahl von Schleifenwiederholungen
While-Schleifen und Do-Schleifen eignen sich gut, wenn Sie nicht im Voraus wissen, wie viele Male die Anweisungen in einer Schleife ausgeführt werden müssen. Wenn die Schleife jedoch eine festgelegte Anzahl von Wiederholungen durchlaufen soll, eignet sich die For...Next-Anweisung (Visual Basic) besser. Im Unterschied zu einer While-Schleife oder einer Do-Schleife wird bei einer For...Next-Schleife eine Steuerungsvariable verwendet, deren Wert während jeder Wiederholung der Schleife erhöht oder verringert wird.
So führen Sie eine Gruppe von Anweisungen mit einer festen Anzahl von Wiederholungen aus
Bestimmen Sie den Start- und Endwert der Steuerungsvariablen, und legen Sie sie mit der For-Anweisung fest.
For i As Integer = 1 To 10
Wenn die Steuerungsvariable nicht außerhalb der Schleife deklariert wird, können Sie die As-Klausel verwenden, um sie als Teil der For-Anweisung zu deklarieren.
Geben Sie mit dem Step-Schlüsselwort den Betrag an, um den der Wert der Steuerungsvariablen bei jeder Iteration erhöht werden soll. Der Wert erhöht sich um 1, wenn Sie keinen anderen Wert angeben. Verwenden Sie einen negativen Wert, um den Wert der Steuerelementvariablen zu verringern.
For i As Integer = 10 To 1 Step -1
Vervollständigen Sie die For...Next-Konstruktion mit einer Next-Anweisung, die auf die letzte zu wiederholende Anweisung folgt. Sie können die Steuerungsvariable in der Next-Anweisung angeben.
Function addBackward(ByVal highest As Integer) As Integer Dim total As Integer = 0 For i As Integer = highest To 1 Step -1 total += i Next i Return total End Function
Im vorhergehenden Beispiel wird die Summe aller ganzen Zahlen von 1 bis zu dem Wert zurückgegeben, der dem highest-Parameter übergeben wird.
Siehe auch
Aufgaben
Gewusst wie: Übertragen der Steuerung aus einer Kontrollstruktur
Gewusst wie: Verbessern der Leistung einer Schleife
Gewusst wie: Springen zur nächsten Iteration einer Schleife
Konzepte
Geschachtelte Steuerungsstrukturen
Referenz
For Each...Next-Anweisung (Visual Basic)