Folytatási utasítás (Visual Basic)
Azonnal átviszi az irányítást egy ciklus következő iterációjára.
Syntax
Continue { Do | For | While }
Megjegyzések
Átvihet egy Do
, For
vagy While
hurkot a ciklus következő iterációjára. A vezérlés azonnal átmegy a ciklusfeltétel-tesztre, amely egyenértékű az átadással vagy utasítással For
While
, illetve az Loop
Do
azt vagy While
záradékot tartalmazó Until
utasítással.
A hurok bármely pontján használható Continue
, amely lehetővé teszi az átvitelt. Az irányítás átvitelét lehetővé tevő szabályok megegyeznek a GoTo utasítással.
Ha például egy hurok teljes egészében egy Try
blokkban, blokkban Catch
vagy Finally
blokkban található, akkor a hurokból való átvitelre is használható Continue
. Ha viszont a Try
...End Try
szerkezet a hurokban található, akkor nem használhatja Continue
az irányítást a Finally
blokkból való átvitelre, és csak akkor használhatja Catch
Try
, ha teljesen ki van kapcsolva a Try
...End Try
struktúrából.
Ha azonos típusú beágyazott hurkokkal rendelkezik, például egy Do
másik Do
hurkon belüli hurokkal, Continue Do
az utasítás az azt tartalmazó legbelső Do
hurok következő iterációjára ugrik. Az azonos típusú, tartalmazó ciklus következő iterációjára nem Continue
ugorhat.
Ha különböző típusú beágyazott hurkokkal rendelkezik, például egy Do
For
hurkon belüli hurokkal, bármelyik ciklus következő iterációjára ugorhat bármelyik Continue Do
ciklus egyikével vagy Continue For
.
Példa
Az alábbi példakód egy Continue While
tömb következő oszlopára ugrik, ha az osztó értéke nulla. A Continue While
hurok belsejében For
van. Átkerül az While col < lastcol
utasításba, amely a ciklust tartalmazó legbelső While
hurok következő iterációja 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