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

  1. 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.

  2. 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
    
  3. 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: Ausführen mehrerer Anweisungen für jedes einzelne Element in einer Auflistung oder einem Array

Gewusst wie: Verbessern der Leistung einer Schleife

Gewusst wie: Springen zur nächsten Iteration einer Schleife

Konzepte

Entscheidungsstrukturen

Schleifenstruktur

Weitere Steuerungsstrukturen

Geschachtelte Steuerungsstrukturen

Referenz

For Each...Next-Anweisung (Visual Basic)

Weitere Ressourcen

Ablaufsteuerung in Visual Basic