Partager via


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

Référence

Do...Loop, instruction (Visual Basic)

For...Next, instruction (Visual Basic)

While...End While, instruction (Visual Basic)

Try...Catch...Finally, instruction (Visual Basic)