Dans le code C# suivant snippet
J'ai une boucle « while
» dans une boucle « foreach
» et je veux passer à l'élément suivant « foreach
» lorsqu'une certaine condition se produit.Continuer pendant que l'intérieur foreach
foreach (string objectName in this.ObjectNames)
{
// Line to jump to when this.MoveToNextObject is true.
this.ExecuteSomeCode();
while (this.boolValue)
{
// 'continue' would jump to here.
this.ExecuteSomeMoreCode();
if (this.MoveToNextObject())
{
// What should go here to jump to next object.
}
this.ExecuteEvenMoreCode();
this.boolValue = this.ResumeWhileLoop();
}
this.ExecuteSomeOtherCode();
}
« continue
» sauteraient au début de la boucle « while
» et non la boucle « foreach
». Y a-t-il un mot-clé à utiliser ici, ou dois-je simplement utiliser goto que je n'aime pas vraiment?
Je suis désolé l'extrait de code que j'ai ajouté n'est pas très précis. Il y a plus de code à ignorer. Utiliser la pause n'aidera pas. J'ai mis à jour l'extrait de code pour être plus précis. – Amr
Bien que j'aime votre réponse car elle résout le problème sans ajouter de logique supplémentaire; Je ne pense pas que ce soit une bonne solution. Je ne sais pas comment, dans le cas du PO, faire cela, mais structurer le code de manière à ce que cette logique folle ne soit pas nécessaire en premier lieu serait la meilleure solution. – nlaq
Dommage que vous ne puissiez pas voter des commentaires ... +1 @Nelson aussi. –