créez un tableau de vos numéros requis et utilisez foreach
PaulF
2
Pourrait donner plus de détails afin que nous puissions aider à fournir des solutions pertinentes? À quelle fréquence prévoyez-vous de sauter des numéros? Combien de nombres pensez-vous sauter? Comment savez-vous quels numéros sauter? Pourquoi sautez-vous des numéros en premier lieu? Quoi et comment codez-vous cela en dur?
Corentin Pane
ce n'est pas aussi simple que je le pensais au début de trouver un doublon
Mong Zhu
Réponses:
13
Vous pouvez utiliser un tableau pour donner les chiffres que vous voulez comme ceci
int[] loop =newint[]{1,2,4,5,7};foreach(int i in loop)Console.WriteLine(i);
Ou faites-le en ligne, ce qui n'est pas aussi propre lorsque la liste des valeurs s'allonge à mon avis
foreach(int i innewint[]{1,2,4,5,7})Console.WriteLine(i);
Le second est plus propre pour moi - le tableau est uniquement à portée pendant la boucle. De plus, pour le rendre vraiment "propre", vous pouvez supprimer la intdéclaration, car le compilateur le déterminera à partir du contenu.
Évidemment, la bonne réponse pour le cas général est d'utiliser foreachou une recherche indexée comme indiqué dans les autres réponses, mais juste pour être complet:
Vous pouvez utiliser n'importe quelle instruction dans une forexpression, y compris les conditions. Dans cet esprit, il est facile de construire un incrément conditionnel ou même un conditionnel exhaustif (machine d'état?) Pour un ensemble requis:
for(int i =1; i <=7; i +=(i ==5|| i ==2)?2:1){Console.Write(i);}// Output: 12457for(int i =1; i >0; i = i switch{1=>2,2=>4,4=>5,5=>7,7=>-1}){Console.Write(i);}// Output: 12457
Ou même quelque chose de vraiment idiot comme une recherche auto-indexée:
for(int i =1; i >0; i =new[]{0,2,4,0,5,7,0,-1}[i]){Console.Write(i);}// Output: 12457
Réponses:
Vous pouvez utiliser un tableau pour donner les chiffres que vous voulez comme ceci
Ou faites-le en ligne, ce qui n'est pas aussi propre lorsque la liste des valeurs s'allonge à mon avis
la source
int
déclaration, car le compilateur le déterminera à partir du contenu.la source
Fondamentalement, les réponses ici sont correctes, simplement parce que vous avez demandé explicitement un
for
au lieu d'uneforeach
boucle:https://dotnetfiddle.net/c5yjPe
la source
Si vous voulez particulièrement une boucle, allez avec ceci:
la source
Évidemment, la bonne réponse pour le cas général est d'utiliser
foreach
ou une recherche indexée comme indiqué dans les autres réponses, mais juste pour être complet:Vous pouvez utiliser n'importe quelle instruction dans une
for
expression, y compris les conditions. Dans cet esprit, il est facile de construire un incrément conditionnel ou même un conditionnel exhaustif (machine d'état?) Pour un ensemble requis:Ou même quelque chose de vraiment idiot comme une recherche auto-indexée:
la source