Wie kann ich eine unendliche Folge von Ganzzahlen in C# 4.0 aufzählen?
Frage
Gibt es eine Funktion in C#, die eine zurückgibt IEnumerator
der unendlichen Abfolge von ganzen Zahlen [0, 1, 2, 3, 4, 5 ...]
?
Ich mache gerade
Enumerable.Range (0, 1000000000).Select (x => x * x).TakeWhile (x => (x <= limit))
alle Quadrate aufzählen bis zu limit
. Mir ist klar, dass dies effektiv ist, aber wenn es eine eingebaute Funktion gibt, von der nur zählt 0
, Ich würde es lieber benutzen.
Lösung 2
Dies ist mir einfallen und ist geeignet für das, was ich getan habe:
Enumerable.Range (0, int.MaxValue)
Andere Tipps
Sie könnten Ihre eigenen rollen.
IEnumerable<BigInteger> Infinite() {
BigInteger value = 0;
while (true) {
yield return value++;
}
}
Bearbeiten
Warum gibst du nicht einfach das Limit in Range
? Dies könnte um eins gehen ...
Enumerable.Range(0, limit).Select(x => x * x);
Ich habe mich bei dieser Bearbeitung geirrt.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow