[ACCEPTED]-Simple Sequence Generation?-sequence

Accepted answer
Score: 16

.NET 3,5 has Range too. It's actually Enumerable.Range and returns 9 IEnumerable<int>.

The page you linked to is very much out 8 of date - it's talking about 3 as a "future 7 version" and the Enumerable static class was 6 called Sequence at one point prior to release.

If 5 you wanted to implement it yourself in C# 2 4 or later, it's easy - here's one:

IEnumerable<int> Range(int count)
    for (int n = 0; n < count; n++)
        yield return n;

You can 3 easily write other methods that further 2 filter lists:

IEnumerable<int> Double(IEnumerable<int> source)
    foreach (int n in source)
        yield return n * 2;

But as you have 3.5, you can 1 use the extension methods in System.Linq.Enumerable to do this:

var evens = Enumerable.Range(0, someLimit).Select(n => n * 2);
Score: 6
var r = Enumerable.Range( 1, 200 );


Score: 3

Check out System.Linq.Enumerable.Range.

Regarding the second part of 4 your question, what do you mean by "arbitrary 3 lists"? If you can define a function 2 from an int to the new values, you can use 1 the result of Range with other LINQ methods:

var squares = from i in Enumerable.Range(1, 200)
              select i * i;

More Related questions