Existe-t-il une déclaration comme Exit For
, sauf qu’au lieu de quitter la boucle, elle passe simplement à l’élément suivant.
Par exemple:
For Each I As Item In Items If I = x Then ' Move to next item End If ' Do something Next
Je sais que je pourrais simplement append une instruction Else
to the If pour qu’elle se lise comme suit:
For Each I As Item In Items If I = x Then ' Move to next item Else ' Do something End If Next
Je me demande simplement s’il existe un moyen de passer à l’élément suivant dans la liste des Items
. Je suis sûr que la plupart des gens se demanderont bien pourquoi ne pas utiliser la déclaration Else
, mais pour moi, le code “Do Something” semble moins lisible. Surtout quand il y a beaucoup plus de code.
For Each I As Item In Items If I = x Then Continue For ' Do something Next
J’utiliserais plutôt l’instruction Continue
:
For Each I As Item In Items If I = x Then Continue For End If ' Do something Next
Notez que ceci est légèrement différent du déplacement de l’iterator lui-même – tout ce qui précède l’exécution de If
sera à nouveau exécuté. C’est généralement ce que vous voulez, mais sinon, vous devrez utiliser GetEnumerator()
, puis MoveNext()
/ Current
lieu d’utiliser une boucle For Each
.
Qu’en est-il de:
If Not I = x Then ' Do something ' End If ' Move to next item '
Je veux être clair que le code suivant n’est pas une bonne pratique. Vous pouvez utiliser GOTO Label:
For Each I As Item In Items If I = x Then 'Move to next item GOTO Label1 End If ' Do something Label1: Next
Lorsque j’ai essayé Continue For
Failed, j’ai reçu une erreur de compilation. En faisant cela, j’ai découvert ‘Resume’:
For Each I As Item In Items If I = x Then 'Move to next item Resume Next End If 'Do something Next
Note: J’utilise VBA ici.