How can I enumerate an infinite sequence of integers in C# 4.0?
Question
Is there a function in C# that returns an IEnumerator
of the infinite sequence of integers [0, 1, 2, 3, 4, 5 ...]
?
I'm currently doing
Enumerable.Range (0, 1000000000).Select (x => x * x).TakeWhile (x => (x <= limit))
to enumerate all squares up to limit
. I realize that this is effective, but if there's a built-in function that just counts up from 0
, I would prefer to use it.
Solution 2
This occurred to me, and is suitable for what I was doing:
Enumerable.Range (0, int.MaxValue)
OTHER TIPS
You could roll your own.
IEnumerable<BigInteger> Infinite() {
BigInteger value = 0;
while (true) {
yield return value++;
}
}
Edit
Why dont you just pass limit in to Range
? This might be off by one...
Enumerable.Range(0, limit).Select(x => x * x);
I was wrong about this edit.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow