私のコードを見てください。Enumerable.Range() の動作が開始値が 0 の場合と異なるのはなぜですか。
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");
}
}
範囲自体は同じです。ただし、1 から開始すると、より大きなものになります。:(結果は次のとおりです。
リニャ 0
リニャ 1
リニャ 2
リニャ 3
リニャ 4
リニャ 5
リニャ 6
========================================
リニャ 1
リニャ 2
リニャ 3
リニャ 4
リニャ 5
リニャ 6
リニャ 7
リニャ 8
========================================