Continue, instruction (Visual Basic)
Transfère immédiatement le contrôle vers l'itération suivante d'une boucle.
Continue { Do | For | While }
Notes
Vous pouvez effectuer un transfert de l'intérieur d'une boucle Do, For ou While vers l'itération suivante de cette même boucle. Le contrôle passe immédiatement au test de condition de la boucle, qui équivaut à effectuer un transfert vers l'instruction For ou While ou vers l'instruction Do ou Loop qui contient la clause Until ou While.
Vous pouvez utiliser Continue à n'importe quel emplacement de la boucle qui autorise les transferts. Les règles qui autorisent le transfert de contrôle sont identiques à celles de l'GoTo, instruction.
Par exemple, si une boucle est entièrement contenue dans un bloc Try, un bloc Catch ou un bloc Finally, vous pouvez utiliser Continue pour effectuer un transfert hors de la boucle. En revanche, si la structure Try...End Try est contenue dans la boucle, vous ne pouvez pas utiliser Continue pour transférer le contrôle hors du bloc Finally, et vous pouvez l'utiliser pour le transférer hors d'un bloc Try ou Catch uniquement si le transfert s'effectue entièrement hors de la structure Try...End Try.
Si vous disposez de boucles imbriquées du même type, par exemple, une boucle Do dans une autre boucle Do, une instruction Continue Do passe à l'itération suivante de la boucle Do la plus profonde qui la contient. Vous ne pouvez pas utiliser Continue pour passer à l'itération suivante d'une boucle conteneur du même type.
Si vous disposez de boucles imbriquées de types différents, par exemple une boucle Do dans une boucle For, vous pouvez passer à l'itération suivante de l'une ou l'autre des boucles à l'aide de Continue Do ou Continue For.
Exemple
L'exemple de code suivant utilise l'instruction Continue While pour passer à la colonne suivante d'un tableau si un diviseur est nul. L'instruction Continue While est à l'intérieur d'une boucle For. Elle effectue un transfert vers l'instruction While col < lastcol, qui est l'itération suivante de la boucle While la plus profonde qui contient la boucle 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
Voir aussi
Tâches
Comment : passer à l'itération suivante d'une boucle (Visual Basic)
Référence
Do...Loop, instruction (Visual Basic)
For...Next, instruction (Visual Basic)