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
, For
of 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 Try
structuur ...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