using System.Collections.Generic;
public static void Main()
var i = InfiniteLoop(new[]{1,2,3,4,5});
foreach (var j in i.Take(500))
Console.WriteLine("[{0}] - {1}", iterations, j);
public static IEnumerable<T> InfiniteLoop<T>(IEnumerable<T> input)
var iter = input.GetEnumerator();
yield return iter.Current;