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.

Was it helpful?

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
scroll top