using System.Collections.Generic;
public static void Main()
Console.WriteLine("Iterating without extension");
var myList = new List<int>();
myList.AddRange(MyInts());
foreach(var item in myList)
Console.WriteLine("Iterating {0}", item);
Console.WriteLine("\nIterating With extension");
var otherList = new List<int>();
foreach (int i in otherList.AddRangeLazily(MyInts()))
public static IEnumerable<int> MyInts()
for (int i = 0; i < 5; i++)
public static class Extension
public static IEnumerable<T> AddRangeLazily<T>(this ICollection<T> col, IEnumerable<T> values)