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 Do
For
di un ciclo , o While
all'iterazione successiva di tale ciclo. Il controllo passa immediatamente al test della condizione del ciclo, For
While
Do
che equivale al trasferimento all'istruzione o o all'istruzione o Loop
che contiene la clausola While
Until
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 , Catch
Finally
di un blocco o di un blocco , Continue
è possibile usare per eseguire il trasferimento all'esterno del ciclo. Se, d'altra parte, Try
la struttura ...End Try
è contenuta all'interno del ciclo, Continue
End Try
Finally
Try
Catch
Try
non è 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, Do
Do
ad esempio un ciclo all'interno di un altro ciclo, Continue Do
Do
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, Do
For
ad esempio un ciclo all'interno di un ciclo, è possibile passare all'iterazione successiva di uno dei cicli usando o Continue Do
Continue 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