Enumerable.Range implementation
What is the precise implementation of Enumerable.Range in .Net; preferable .Net 4? Is it a yielded for-loop? A custom implementation (IEnumerable, IEnumerator) or? CraigTP The accepted answer on this question should give you the answer: public static class Enumerable { public static IEnumerable<int> Range(int start, int count) { var end = start + count; for(var current = start; current < end; ++current) { yield return current; } } } This isn't the exact code, as there is a lot of error checking etc. going on within the Range method, and internally, it calls other methods, however, the quoted