public static void Main()
var take = Enumerable.Range(0, int.MaxValue).Where(x => x % 2 == 0).Take(5);
Console.WriteLine("---");
var takeThat = Enumerable.Range(0, int.MaxValue).Select((number, index) => new { Number = number % 2, Index = index}).TakeWhile(x => x.Index < 5).Select(x => x.Number);
foreach(var t in takeThat)