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
, For
eller 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