Istruzione Continue (Visual Basic)

Trasferisce immediatamente il controllo all'iterazione successiva di un ciclo.

Sintassi

Continue { Do | For | While }  

Osservazioni

È possibile eseguire il trasferimento dall'interno DoFordi un ciclo , o While all'iterazione successiva di tale ciclo. Il controllo passa immediatamente al test della condizione del ciclo, ForWhileDo che equivale al trasferimento all'istruzione o o all'istruzione o Loop che contiene la clausola WhileUntil o .

È possibile usare in Continue qualsiasi posizione del ciclo che consenta i trasferimenti. Le regole che consentono il trasferimento del controllo sono le stesse dell'istruzione GoTo.

Ad esempio, se un ciclo è Try completamente contenuto all'interno di un blocco , CatchFinally di un blocco o di un blocco , Continue è possibile usare per eseguire il trasferimento all'esterno del ciclo. Se, d'altra parte, Tryla struttura ...End Try è contenuta all'interno del ciclo, ContinueEnd TryFinallyTryCatchTrynon è possibile usare per trasferire il controllo all'esterno del blocco ed è possibile usarla per il trasferimento da un blocco o solo se si trasferisce completamente dalla struttura ... .

Se sono presenti cicli annidati dello stesso tipo, DoDo ad esempio un ciclo all'interno di un altro ciclo, Continue DoDo un'istruzione passa all'iterazione successiva del ciclo più interno che la contiene. Non è possibile usare Continue per passare all'iterazione successiva di un ciclo contenitore dello stesso tipo.

Se sono presenti cicli annidati di tipi diversi, DoFor ad esempio un ciclo all'interno di un ciclo, è possibile passare all'iterazione successiva di uno dei cicli usando o Continue DoContinue For.

Esempio

Nell'esempio di codice seguente viene utilizzata Continue While l'istruzione per passare alla colonna successiva di una matrice se un divisore è zero. si Continue While trova all'interno di un For ciclo . Trasferisce all'istruzione While col < lastcol , ovvero l'iterazione successiva del ciclo più While interno che contiene il For ciclo.

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

Vedi anche