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 Dopętli , Forlub 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 Trystruktura ...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 Trystruktury ...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ę DoFor 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

Zobacz też