Enumerable.Range的奇怪行为(开始,计数)

Mau*_*lar 0 .net c# range enumerable

可能重复:
可枚举给出意外输出

看看我的代码.无论起始值是0,为什么Enumerable.Range()的行为都不同.

class Program
{
    static void Main(string[] args)
    {
        var range1 = Enumerable.Range(0, 7);
        PrintRange(range1);
        var range2 = Enumerable.Range(1, 8);
        PrintRange(range2);
        Console.ReadKey(true);
    }

    private static void PrintRange(IEnumerable<int> myRange)
    {
        foreach (int i in myRange)
        {
            Console.WriteLine("Linha {0}\n", i);
        }
        Console.WriteLine("\n========================================\n");
    }
}
Run Code Online (Sandbox Code Playgroud)

范围本身是一样的.但是当它从1开始时,我得到一个更大的.:(这是结果:

林哈0

林哈1

林哈2

林哈3

林哈4

林哈5

林哈6

========================================

林哈1

林哈2

林哈3

林哈4

林哈5

林哈6

林哈7

林哈8

========================================

Aus*_*nen 8

第二个论点count不是end.

你的第一个调用相当于我希望从0开始的7个连续整数,而第二个调用我想要从1开始的8个连续整数.

MSDN Enumerable.Range