break
arrêterait complètement la boucle foreach
, continue
passerait au DataRow
suivant.
break
arrêterait complètement la boucle foreach
, continue
passerait au DataRow
suivant.
break
sortira complètement de la boucle, continue
ne fera que sauter l'itération en cours.
Par exemple :
for (int i = 0; i < 10; i++) {
if (i == 0) {
break;
}
DoSomeThingWith(i);
}
La rupture entraînera la sortie de la boucle à la première itération - DoSomeThingWith
ne sera jamais exécuté. Ici :
for (int i = 0; i < 10; i++) {
if(i == 0) {
continue;
}
DoSomeThingWith(i);
}
N'exécutera pas DoSomeThingWith
pour i = 0
, mais la boucle continuera et DoSomeThingWith
sera exécuté pour < code>9 à i = 9
.
Plusieurs personnes n'aiment pas break
et continue
. La dernière plainte que j'ai vue à leur sujet était dans JavaScript : The Good Parts de Douglas Crockford. Mais je trouve que parfois utiliser l'un d'entre eux simplifie vraiment les choses, surtout si votre langage n'inclut pas de style de boucle do-while
ou do-until
.
J'ai tendance à utiliser break
dans les boucles qui recherchent quelque chose dans une liste. Une fois trouvé, il ne sert à rien de continuer, alors autant arrêter.
J'utilise continue
lorsque je fais quelque chose avec la plupart des éléments d'une liste, mais je veux quand même en ignorer quelques-uns.
La déclaration break
est également pratique lors de l'interrogation d'une réponse valide de quelqu'un ou de quelque chose. Au lieu de :
Ask a question
While the answer is invalid:
Ask the question
Vous pouvez éliminer certains doublons et utiliser :
While True:
Ask a question
If the answer is valid:
break
La boucle do-until
que j'ai mentionnée précédemment est la solution la plus élégante pour ce problème particulier :
Do:
Ask a question
Until the answer is valid
Aucune duplication, et aucun break
n'est nécessaire non plus.
Réponse simple :
Break quitte la boucle immédiatement.
Continuer démarre le traitement de l'élément suivant. (S'il y en a, en sautant à la ligne d'évaluation du for/while)
S'il vous plaît laissez-moi énoncer l'évidence : notez que l'ajout de ni break ni continue, reprendra votre programme ; c'est-à-dire que j'ai intercepté une certaine erreur, puis après l'avoir consignée, j'ai voulu reprendre le traitement, et il y avait plus de tâches de code entre la ligne suivante, donc je l'ai laissé tomber.