Continue – příkaz (Visual Basic)

Přenese řízení okamžitě na další iteraci smyčky.

Syntaxe

Continue { Do | For | While }  

Poznámky

Přenos můžete provést z uvnitř smyčky Donebo ForWhile smyčky do další iterace této smyčky. Řízení se okamžitě předá testu podmínky smyčky, který je ekvivalentní přenosu na For příkaz nebo While příkaz, nebo k Do příkazu Loop , který obsahuje klauzuli Until nebo While klauzuli.

Můžete použít Continue v libovolném umístění ve smyčce, která umožňuje přenosy. Pravidla umožňující přenos řízení jsou stejná jako u příkazu GoTo.

Pokud je například smyčka zcela obsažena v Try bloku, Catch bloku nebo Finally bloku, můžete použít Continue k přenosu ze smyčky. Pokud je na druhé straně struktura ...End Try obsažena ve smyčce, nelze použít Continue k přenosu řízení z Finally bloku a můžete jej použít k přenosu z Try nebo Catch bloku pouze v případě, že zcela mimo Trystrukturu ...End Try .Try

Pokud máte vnořené smyčky stejného typu, například smyčka Do v rámci jiné Do smyčky, Continue Do příkaz přeskočí na další iteraci nejvnitřnější Do smyčky, která ji obsahuje. Nelze použít Continue k přechodu na další iteraci obsahující smyčky stejného typu.

Pokud máte vnořené smyčky různých typů, například smyčku Do ve For smyčce, můžete přeskočit na další iteraci smyčky pomocí jedné Continue Do nebo Continue For.

Příklad

Následující příklad kódu používá příkaz Continue While přeskočit na další sloupec pole, pokud je dělitel nula. Uvnitř Continue While smyčky For . Přenese se do While col < lastcol příkazu, což je další iterace vnitřní While smyčky, která obsahuje smyčku 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

Viz také