Comment sortir du for imbriqué ou de la boucle dans vb.net?
J'ai essayé d'utiliser exit for mais il n'a sauté ou cassé qu'une seule boucle for.
Comment puis-je le faire pour ce qui suit:
for each item in itemList
for each item1 in itemList1
if item1.text = "bla bla bla" then
exit for
end if
end for
end for
vb.net
for-loop
nested-loops
KoolKabin
la source
la source
Exit For item
variante de l'instruction, similaire àNext item
. Dans le «bon vieux temps», vous pouviez explicitementNext
la boucle externe. Aujourd'hui, VB donne une erreur. Bien sûr, il est plus «constructif» à laExit For
place.Réponses:
Malheureusement, il n'y a pas de
exit two levels of for
déclaration, mais il existe quelques solutions de contournement pour faire ce que vous voulez:Aller . En général, l'utilisation
goto
est considérée comme une mauvaise pratique (et à juste titre), mais l'utilisationgoto
uniquement pour un saut vers l'avant hors des instructions de contrôle structurées est généralement considérée comme acceptable, surtout si l'alternative est d'avoir un code plus compliqué.Bloc extérieur factice
ou
Fonction séparée : placez les boucles dans une fonction distincte, qui peut être quittée avec
return
. Cela peut cependant vous obliger à passer de nombreux paramètres, en fonction du nombre de variables locales que vous utilisez dans la boucle. Une alternative serait de placer le bloc dans un lambda multiligne, car cela créera une fermeture sur les variables locales.Variable booléenne : cela peut rendre votre code un peu moins lisible, en fonction du nombre de couches de boucles imbriquées dont vous disposez:
la source
goto
autre que la fonction si cela a vraiment du sens.goto
dans un grand projet juste pour me souvenir de mes jours de programmation dans qbasic, ah des temps si innocents. Sinon, j'irais pour un mannequin.Try
/Exit Try
, mais je ne suis pas fan de l'goto
option.Mettez les boucles dans un sous-programme et appelez
return
la source
goto
solution plus simple . Bien sûr, si le code est réutilisable, il devrait déjà être dans une fonction de toute façon.Faites de la boucle externe une boucle while et "Exit While" dans l'instruction if.
la source
goto
qu'avec plus d'instructions, plus de verbosité et plus d'indentation. À quoi ça sert?J'ai essayé de taper "exit pour" plusieurs fois et j'ai remarqué que cela fonctionnait et que VB ne m'a pas crié dessus. C'est une option, je suppose, mais elle avait juste l'air mauvaise.
Je pense que la meilleure option est similaire à celle partagée par Tobias. Mettez simplement votre code dans une fonction et faites-le revenir lorsque vous voulez sortir de vos boucles. Ça a l'air plus propre aussi.
la source
la source
Si je veux quitter une boucle for-to, je viens de définir l'index au-delà de la limite:
Poppa.
la source