Gewusst wie: Springen zur nächsten Iteration einer Schleife (Visual Basic)

Wenn Sie die Verarbeitung der aktuellen Iteration einer Do-Schleife, einer For-Schleife oder einer While-Schleife beendet haben, können Sie mittels der Continue-Anweisung (Visual Basic) gleich zur nächsten Iteration springen.

Springen zur nächsten Iteration

So springen Sie zur nächsten Iteration einer For...Next-Schleife

  1. Schreiben Sie die For...Next-Schleife wie gewohnt.

  2. Sie können Continue For jederzeit verwenden, wenn Sie die aktuelle Iteration beenden und gleich mit der nächsten Iteration fortfahren möchten.

    Public Function findLargestRatio(ByVal high() As Double, 
        ByVal low() As Double) As Double
        Dim ratio As Double
        Dim largestRatio As Double = Double.MinValue
        For counter As Integer = 0 To low.GetUpperBound(0)
            If Math.Abs(low(counter)) < 
               System.Double.Epsilon Then Continue For 
            ratio = high(counter) / low(counter)
            If Double.IsInfinity(ratio) OrElse 
               Double.IsNaN(ratio) Then Continue For 
            If ratio > largestRatio Then largestRatio = ratio
        Next counter
        Return largestRatio
    End Function
    

Springen innerhalb einer geschachtelten Schleife

Wenn ineinander geschachtelte Do-Schleifen, For-Schleifen oder While-Schleifen vorhanden sind, können Sie gleich zur nächsten Iteration einer beliebigen Ebene der Schachtelung springen. Dies trifft aber nur zu, wenn die Schleifen verschiedene Typen aufweisen. Wenn geschachtelte Schleifen des gleichen Typs (z. B. geschachtelte While-Schleifen) vorhanden sind, springt Continue While zur nächsten Iteration der innersten While-Schleife.

So springen Sie zur nächsten Iteration einer Do-Schleife innerhalb einer geschachtelten For-Schleife

  1. Schreiben Sie die geschachtelten Schleifen wie gewohnt.

  2. Verwenden Sie Continue Do überall dort, wo Sie die aktuelle Iteration der inneren For-Schleife beenden und zur nächsten Iteration der äußeren Do-Schleife springen möchten.

    Public Sub divideElements(ByRef matrix(,) As Double)
        Dim i As Integer = -1
        Do Until i > matrix.GetUpperBound(0)
            i += 1
            For j As Integer = 0 To matrix.GetUpperBound(1)
                If matrix(j, j) = 0 Then Continue Do 
                matrix(i, j) /= matrix(j, j)
            Next j
        Loop 
    End Sub
    

Siehe auch

Aufgaben

Gewusst wie: Übertragen der Steuerung aus einer Kontrollstruktur (Visual Basic)

Gewusst wie: Mehrfaches Ausführen von mehreren Anweisungen (Visual Basic)

Gewusst wie: Ausführen mehrerer Anweisungen für jedes einzelne Element in einer Auflistung oder einem Array (Visual Basic)

Gewusst wie: Verbessern der Leistung einer Schleife (Visual Basic)

Referenz

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

Do...Loop-Anweisung (Visual Basic)

For...Next-Anweisung (Visual Basic)

Konzepte

Schleifenstruktur (Visual Basic)

Geschachtelte Steuerungsstrukturen (Visual Basic)

Weitere Ressourcen

Ablaufsteuerung in Visual Basic