Je sais que cela a déjà été répondu, mais je pensais que je jetterais dans mes 2 cents puisque personne ne considère abstraire le chèque à une méthode distincte:
void()
{
if (ShouldDoStuff(myCollection))
DoStuff(myCollection);
else
DoOtherStuff(myCollection);
}
private bool ShouldDoStuff(collection)
{
foreach()
{
if()
return true;
}
return false;
}
Cela fournit un code beaucoup plus propre à le niveau supérieur pour traiter vos algorithmes et supprime tout le fouillis discuté. Il sépare proprement les tâches dans void()
de vérification et d'exécution des actions et les lecteurs savent instantanément exactement quel est le flux du programme sans avoir à discerner ce qu'ils font avec une logique booléenne ou de rupture qui se cache. Aucune méthode n'a plus d'une responsabilité ou tâche. Oui, il est possible que l'affiche veuille faire un autre travail dans leur foreach, mais c'est une discussion entièrement différente et non pas ce qui était décrit dans leur question. Si vous voulez simplement vérifier si la collection (ou l'objet) donné satisfait une certaine condition, cette vérification peut être déplacée vers une méthode séparée. Même laisse la porte ouverte pour les tests unitaires automatisés pour les trois composants.
Même si DoStuff
et DoOtherStuff
ne sont pas traités par leurs propres méthodes, ils offrent une meilleure lisibilité et un flux logique.
continue mot clé vient à votre secours. vous pouvez utiliser 'Break' si vous voulez sortir de la boucle for. – AlwaysAProgrammer
Trop de votre question est ambiguë. Le commentaire de Yogendra pourrait être la réponse en fonction de ce que vous voulez dire – McAden
vous devez déclarer bool dans if bloc de déclaration et l'utiliser dans la zone où vous voulez ignorer –