Dela via


Fortsätt -instruktion (Visual Basic)

Överför kontrollen direkt till nästa iteration av en loop.

Syntax

Continue { Do | For | While }  

Kommentarer

Du kan överföra inifrån en Do, Foreller While -loop till nästa iteration av den loopen. Kontrollen skickas omedelbart till loopvillkorstestet, vilket motsvarar överföring till -instruktionen For eller While till -instruktionen eller Loop -instruktionen Do som innehåller instruktionen Until eller While .

Du kan använda Continue på valfri plats i loopen som tillåter överföringar. Reglerna som tillåter överföring av kontroll är desamma som med GoTo-instruktionen.

Om en loop till exempel är helt innesluten i ett Try block, ett Catch block eller ett Finally block kan du använda Continue för att överföra ut från loopen. Om å andra sidan Try...End Try strukturen finns i slingan kan du inte använda Continue för att överföra kontrollen ut ur Finally blocket, och du kan använda den för att överföra ut ur en Try eller Catch blockera endast om du överför helt ur Try...End Try strukturen.

Om du har kapslade loopar av samma typ, till exempel en loop i en Do annan Do loop, hoppar en Continue Do instruktion till nästa iteration av den innersta Do loopen som innehåller den. Du kan inte använda Continue för att hoppa till nästa iteration av en innehållande loop av samma typ.

Om du har kapslade loopar av olika typer, till exempel en Do loop i en For loop, kan du hoppa till nästa iteration av någon av looparna med hjälp av antingen Continue Do eller Continue For.

Exempel

I följande kodexempel används -instruktionen Continue While för att hoppa till nästa kolumn i en matris om en divisor är noll. Continue While Är inuti en For loop. Den överförs till -instruktionen While col < lastcol , vilket är nästa iteration av den innersta While loopen som innehåller loopen For .

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

Se även