using System.Collections.Generic;
using System.Diagnostics;
static List<int> myList = new List<int>();
public static void Main(string[] args)
foreach (var item in myList)
Stopwatch stopwatchTempData = new Stopwatch();
stopwatchTempData.Start();
foreach (var item in IterateUsingTemp())
Console.WriteLine("Execution without yield "+stopwatchTempData.Elapsed);
Stopwatch stopwatchYield = new Stopwatch();
foreach (var item in IterateStatefulYield())
Console.WriteLine("Execution using yield:" + stopwatchYield.Elapsed);
static IEnumerable<int> IterateUsingTemp()
List<int> tempdata = new List<int>();
foreach (var item in myList)
static IEnumerable<int> IterateStatefulYield()
foreach (var item in myList)