Comment : passer à l'itération suivante d'une boucle
Mise à jour : novembre 2007
Si vous avez terminé le traitement de l'itération actuelle d'une boucle Do, For ou While, vous pouvez passer immédiatement à l'itération suivante à l'aide de Continue, instruction (Visual Basic).
Passage à l'itération suivante
Pour passer à l'itération suivante d'une boucle For...Next
Écrivez la boucle For...Next de manière normale.
Utilisez Continue For sur tous les emplacements où vous souhaitez terminer l'itération actuelle et passer immédiatement à l'itération suivante.
Public Function findLargestRatio(ByVal high() As Double, _ ByVal low() As Double) As Double Dim ratio As Double Dim largestRatio As Double = Double.MinValue For counter As Integer = 0 To low.GetUpperBound(0) If Math.Abs(low(counter)) < System.Double.Epsilon _ Then Continue For ratio = high(counter) / low(counter) If Double.IsInfinity(ratio) OrElse Double.IsNaN(ratio) _ Then Continue For If ratio > largestRatio Then largestRatio = ratio Next counter Return largestRatio End Function
Passage à partir d'une boucle imbriquée
Si vous avez des boucles Do, For ou While imbriquées les unes dans les autres, vous pouvez passer immédiatement à l'itération suivante, quel que soit le niveau dans l'imbrication. Toutefois, cela est vrai uniquement lorsque les boucles sont de types différents. Si vous avez des boucles imbriquées du même type, par exemple des boucles While imbriquées, Continue While passe à l'itération suivante de la boucle While la plus profonde.
Pour passer à l'itération suivante d'une boucle Do à partir d'une boucle For imbriquée
Écrivez les boucles imbriquées de manière normale.
Utilisez Continue Do sur tous les emplacements où vous souhaitez terminer l'itération actuelle de la boucle For interne et passer à l'itération suivante de la boucle Do externe.
Public Sub divideElements(ByRef matrix(,) As Double) Dim i As Integer = -1 Do Until i > matrix.GetUpperBound(0) i += 1 For j As Integer = 0 To matrix.GetUpperBound(1) If matrix(j, j) = 0 Then Continue Do matrix(i, j) /= matrix(j, j) Next j Loop End Sub
Voir aussi
Tâches
Comment : transférer un contrôle hors d'une structure de contrôle
Comment : exécuter plusieurs instructions à plusieurs reprises
Comment : exécuter plusieurs instructions pour chaque élément dans une collection ou un tableau
Comment : améliorer les performances d'une boucle
Concepts
Structures de contrôle imbriquées
Référence
While...End While, instruction (Visual Basic)
Do...Loop, instruction (Visual Basic)
For...Next, instruction (Visual Basic)