stwórz tablicę swoich wymaganych numerów i użyj foreach
PaulF
2
Czy możemy podać więcej szczegółów, abyśmy mogli pomóc w dostarczeniu odpowiednich rozwiązań? Jak często planujesz pomijać liczby? Ile liczb chcesz pominąć? Skąd wiesz, które liczby pominąć? Dlaczego w ogóle pomijasz liczby? Co i jak to kodujesz?
Corentin Pane,
znalezienie duplikatu nie jest tak łatwe, jak myślałem na początku
Mong Zhu,
Odpowiedzi:
13
Możesz użyć tablicy, aby podać liczby, które chcesz w ten sposób
int[] loop =newint[]{1,2,4,5,7};foreach(int i in loop)Console.WriteLine(i);
Lub zrób to w linii, która nie jest tak czysta, gdy lista wartości rośnie moim zdaniem
foreach(int i innewint[]{1,2,4,5,7})Console.WriteLine(i);
Drugi jest dla mnie czystszy - tablica ma zasięg tylko podczas pętli. Ponadto, aby było naprawdę „czyste”, możesz usunąć intdeklarację, ponieważ kompilator określi to na podstawie zawartości.
Oczywiście prawidłową odpowiedzią w ogólnym przypadku jest użycie foreachlub indeksowane wyszukiwanie, jak pokazano w innych odpowiedziach, ale tylko ze względu na kompletność:
Możesz użyć dowolnego wyrażenia w forwyrażeniu, w tym warunkowego. Mając to na uwadze, łatwo jest zbudować przyrost warunkowy, a nawet wyczerpujący warunek (maszyna stanu?) Dla wymaganego zestawu:
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
Lub nawet coś naprawdę głupiego, jak wyszukiwanie samoindeksujące:
for(int i =1; i >0; i =new[]{0,2,4,0,5,7,0,-1}[i]){Console.Write(i);}// Output: 12457
Odpowiedzi:
Możesz użyć tablicy, aby podać liczby, które chcesz w ten sposób
Lub zrób to w linii, która nie jest tak czysta, gdy lista wartości rośnie moim zdaniem
źródło
int
deklarację, ponieważ kompilator określi to na podstawie zawartości.źródło
Zasadniczo odpowiedzi tutaj są poprawne, tylko dlatego, że poprosiłeś wprost o pętlę
for
zamiastforeach
:https://dotnetfiddle.net/c5yjPe
źródło
Jeśli chcesz szczególnie dla pętli, skorzystaj z tego:
źródło
Oczywiście prawidłową odpowiedzią w ogólnym przypadku jest użycie
foreach
lub indeksowane wyszukiwanie, jak pokazano w innych odpowiedziach, ale tylko ze względu na kompletność:Możesz użyć dowolnego wyrażenia w
for
wyrażeniu, w tym warunkowego. Mając to na uwadze, łatwo jest zbudować przyrost warunkowy, a nawet wyczerpujący warunek (maszyna stanu?) Dla wymaganego zestawu:Lub nawet coś naprawdę głupiego, jak wyszukiwanie samoindeksujące:
źródło