Condividi tramite


Istruzione Continue (Visual Basic)

Trasferisce immediatamente il controllo all'iterazione successiva del ciclo.

Continue { Do | For | While }

Note

È possibile trasferire il controllo dall'interno di un ciclo Do, For o While all'iterazione successiva del ciclo. Il controllo passa immediatamente alla verifica della condizione del ciclo, ossia viene trasferito all'istruzione For o While oppure all'istruzione Do o Loop che contiene la clausola Until o While.

È possibile utilizzare Continue in qualsiasi punto del ciclo in cui è consentito il trasferimento del controllo. Le regole che consentono il trasferimento del controllo corrispondono a quelle di Istruzione GoTo.

Se, ad esempio, un ciclo è contenuto completamente all'interno di un blocco Try, di un blocco Catch o di un blocco Finally, è possibile utilizzare Continue per uscire dal ciclo. Se, invece, la struttura Try...End Try è contenuta all'interno del ciclo, non è possibile utilizzare Continue per trasferire il controllo all'esterno del blocco Finally ed è possibile utilizzarlo per uscire da un blocco Try o Catch solo se si esce completamente dalla struttura Try...End Try.

Se sono presenti cicli annidati dello stesso tipo, ad esempio un ciclo Do all'interno di un altro ciclo Do, un'istruzione Continue Do passa all'iterazione successiva del ciclo Do più interno che la contiene. Non è possibile utilizzare Continue per passare all'iterazione successiva di un ciclo dello stesso tipo diverso da quello più interno che contiene l'istruzione.

Se sono presenti cicli annidati di tipo diverso, ad esempio un ciclo Do all'interno di un ciclo For, è possibile passare all'iterazione successiva di uno dei due cicli utilizzando Continue Do o Continue For.

Esempio

Nell'esempio di codice riportato di seguito viene utilizzata l'istruzione Continue While per passare alla colonna successiva di una matrice se uno dei divisori è zero. L'istruzione Continue While si trova in un ciclo For. Passa all'istruzione While col < lastcol, ossia all'iterazione successiva del ciclo While più interno che contiene il ciclo 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

Vedere anche

Attività

Procedura: passare alla successiva iterazione di un ciclo (Visual Basic)

Riferimenti

Istruzione Do...Loop (Visual Basic)

Istruzione For...Next (Visual Basic)

Istruzione While...End While (Visual Basic)

Istruzione Try...Catch...Finally (Visual Basic)