Continue — Instrukcja (Visual Basic)
Przenosi kontrolkę natychmiast do następnej iteracji pętli.
Składnia
Continue { Do | For | While }
Uwagi
Możesz przenieść z wewnątrz Do
pętli , For
lub While
do następnej iteracji tej pętli. Kontrolka przechodzi natychmiast do testu warunku pętli, który jest odpowiednikiem transferu do For
instrukcji or While
albo do Do
instrukcji lub Loop
zawierającej klauzulę Until
or While
.
Możesz użyć Continue
w dowolnej lokalizacji w pętli, która umożliwia transfery. Reguły zezwalające na transfer kontroli są takie same jak w przypadku instrukcji GoTo.
Jeśli na przykład pętla jest całkowicie zawarta w Try
bloku, Catch
bloku lub Finally
bloku, możesz użyć Continue
polecenia , aby przenieść z pętli. Jeśli z drugiej strony Try
struktura ...End Try
jest zawarta w pętli, nie można użyć Continue
do przeniesienia kontroli z Finally
bloku i można go użyć do przeniesienia z Try
lub Catch
bloku tylko wtedy, gdy całkowicie z Try
struktury ...End Try
Jeśli masz zagnieżdżone pętle tego samego typu, na przykład pętla Do
w innej Do
pętli, Continue Do
instrukcja pomija następną iterację pętli najwsedniejszej Do
, która ją zawiera. Nie można użyć Continue
polecenia , aby przejść do następnej iteracji zawierającej pętlę tego samego typu.
Jeśli masz zagnieżdżone pętle różnych typów, na przykład pętlę Do
For
w pętli, możesz przejść do następnej iteracji pętli przy użyciu metody Continue Do
lub Continue For
.
Przykład
Poniższy przykład kodu używa Continue While
instrukcji , aby przejść do następnej kolumny tablicy, jeśli dzielnik ma wartość zero. Element Continue While
znajduje się wewnątrz For
pętli. Jest on transferem do While col < lastcol
instrukcji , która jest następną iterację najbardziej wewnętrznej While
pętli, która zawiera pętlę 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