VB.NET – Comment passer à l’élément suivant a For Each Loop?

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.