Delen via


Continue-instructie (Visual Basic)

Hiermee wordt het besturingselement onmiddellijk overgedragen naar de volgende iteratie van een lus.

Syntaxis

Continue { Do | For | While }  

Opmerkingen

U kunt van binnen een Do, Forof While lus overbrengen naar de volgende iteratie van die lus. De controle wordt onmiddellijk doorgegeven aan de lusvoorwaardetest, die gelijk is aan overdracht naar de For of While instructie, of naar de of Loop instructie Do die de Until of While component bevat.

U kunt op elke locatie in de lus gebruiken Continue die overdrachten toestaat. De regels die de overdracht van controle toestaan, zijn hetzelfde als met de GoTo-instructie.

Als een lus bijvoorbeeld volledig is opgenomen in een Try blok, een Catch blok of een Finally blok, kunt u deze gebruiken Continue om de lus over te dragen. Als daarentegen de Trystructuur ...End Try zich in de lus bevindt, kunt u niet gebruiken Continue om het besturingselement buiten het Finally blok over te dragen en u kunt het gebruiken om alleen uit een Try of Catch blok over te dragen als u volledig van de Try...End Try structuur overbrengt.

Als u geneste lussen van hetzelfde type hebt, bijvoorbeeld een lus binnen een Do andere Do lus, wordt een Continue Do instructie overgeslagen naar de volgende iteratie van de binnenste Do lus die deze bevat. U kunt niet Continue doorgaan naar de volgende iteratie van een bevatde lus van hetzelfde type.

Als u geneste lussen van verschillende typen hebt, bijvoorbeeld een Do lus binnen een For lus, kunt u doorgaan naar de volgende iteratie van een lus met behulp Continue Do van of Continue For.

Opmerking

In het volgende codevoorbeeld wordt de Continue While instructie gebruikt om naar de volgende kolom van een matrix te gaan als een deler nul is. De Continue While is binnen een For lus. Deze wordt overgedragen naar de While col < lastcol instructie, de volgende iteratie van de binnenste While lus die de For lus bevat.

Dim row, col As Integer
Dim lastrow As Integer = 6
Dim lastcol As Integer = 10
Dim a(,) As Double = New Double(lastrow, lastcol) {}
Dim b(7) As Double
row = -1
While row < lastrow
    row += 1
    col = -1
    While col < lastcol
        col += 1
        a(row, col) = 0
        For i As Integer = 0 To b.GetUpperBound(0)
            If b(i) = col Then
                Continue While
            Else
                a(row, col) += (row + b(i)) / (col - b(i))
            End If
        Next i
    End While
End While

Zie ook