C#, Load Integer-und Anzeige-ungerade / gerade
Hallo Frage mich, ob es ist ein einfacher Weg, um gerade /ungerade zahlen.
Ich weiß, ich könnte tun, eine for-Schleife und laden Sie eine Liste. Dann kann ich schreiben Sie eine weitere for-Schleife
um eine Schleife durch die Liste und überprüfen Sie, ob ein Wert gerade /ungerade:
for(i=0; i<100; i++)
if(myList[i]%2==0) //even
//do something
else
//odd do something
Aber gibt es eine Möglichkeit, diese kürzen sich nur damit, dass ich kann leicht eine Liste von geraden oder ungeraden zahlen. Keine Hausaufgaben, einfach Fragen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte, Sie verwenden irgendeine Art von lambdas:
Aufzählbare nur lädt die Liste mit 1-100, und dann habe ich einfach entreißen all odds /evens, und dann drucken. Dies alles kann verkürzt werden zu:
e,o haben eine implizite Typ-var. Der compiler kann bestimmen, Ihren Typ, so dass diese beiden Zeilen sind äquivalent:
Dann finden die odds /evens direkt auf eine Liste Typ:
Und zu drucken, ist es in meinem ursprünglichen code.
LINQ Weg... gerade und Ungerade zahlen zwischen 1 und 100.
// i & 1 == 0 is faster than i % 2 == 0
Können Sie die Verwendung von LINQ to ziehen Sie Sie heraus, nur die ungeraden oder geraden, und dann Prozess:
Ich glaube nicht, dass Sie haben, um die erste Schlaufe. Sie konnte nur:
Oder auch:
Füllen Sie Ihre Liste nach diesen Formeln
Wenn Sie nur die Hälfte der zahlen, generieren Sie einfach die Hälfte der Zahl ( .. ; .. ; i = i + 2)
Wenn Sie müssen alle die zahlen wollen aber vermeiden, dass eine zusätzliche öse haben, können Sie markieren Sie Sie oder Bearbeiten Sie während der ersten Schleife.
Bzw. während der Schöpfung, machen bis zu drei Listen/arrays - eines für alle zahlen, ein anderes für die Verschiedenheit und die Dritte für evens.
Gibt es eine spezielle Anwendung?