C

Dans un C

请先 登录 后评论

5 réponses

palmsey

break arrêterait complètement la boucle foreach, continue passerait au DataRow suivant.

请先 登录 后评论
Michael Stum

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.

请先 登录 后评论
yukondude

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.

请先 登录 后评论
Maltrap

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)

请先 登录 后评论
Community

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.

请先 登录 后评论
  • 22 abonnés
  • 0 favoris,594 Feuilleter
  • Seibar posée à 2023-03-27 17:00