J'utilise C #. J'ai une liste d'articles. Je passe en revue chaque élément en utilisant un foreach
. Dans mon foreach
, j'ai beaucoup d'instructions if
vérifiant certaines choses. Si l'une de ces instructions if
renvoie un faux, je veux qu'il ignore cet élément et passe à l'élément suivant de la liste. Toutes les instructions if
qui suivent doivent être ignorées. J'ai essayé d'utiliser une pause, mais une pause quitte l'intégralité de l'instruction foreach
.
Voici ce que j'ai actuellement:
foreach (Item item in myItemsList)
{
if (item.Name == string.Empty)
{
// Display error message and move to next item in list. Skip/ignore all validation
// that follows beneath
}
if (item.Weight > 100)
{
// Display error message and move to next item in list. Skip/ignore all validation
// that follows beneath
}
}
Merci
Utilisation continue;
au lieu de break;
pour entrer l'itération suivante de la boucle sans exécuter plus de code contenu.
foreach (Item item in myItemsList)
{
if (item.Name == string.Empty)
{
// Display error message and move to next item in list. Skip/ignore all validation
// that follows beneath
continue;
}
if (item.Weight > 100)
{
// Display error message and move to next item in list. Skip/ignore all validation
// that follows beneath
continue;
}
}
Les documents officiels sont ici , mais ils n'ajoutent pas beaucoup de couleur.
Essaye ça:
foreach (Item item in myItemsList)
{
if (SkipCondition) continue;
// More stuff here
}
Tu devrais utiliser:
continue;
Le mot clé continue
fera ce que vous recherchez. break
sortira de la boucle foreach
, vous voudrez donc éviter cela.
Utilisez continue
au lieu de break
. :-)