using System.Collections.Generic;
public static IEnumerable<int> TestBreakAndYieldReturn(int[] items)
for (int i = 0; i < items.Length; i++)
Console.WriteLine("You called TestBreak.");
public static IEnumerable<int> TestYieldBreakAndYieldReturn(int[] items)
for (int i = 0; i < items.Length; i++)
Console.WriteLine("You called TestYieldBreak.");
public static IEnumerable<int> TestWithoutYield(int[] items)
var result = new List<int>();
for (int i = 0; i < items.Length; i++)
Console.WriteLine("You called TestWithoutYield.");
public static void Main()
var itemsIn = new [] {100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115};
Console.WriteLine("--- TestWithoutYield ---");
var itemsOut3 = TestWithoutYield(itemsIn);
foreach(var i in itemsOut3)
Console.WriteLine("--- TestBreakAndYieldReturn ---");
var itemsOut1 = TestBreakAndYieldReturn(itemsIn);
foreach(var i in itemsOut1)
Console.WriteLine("--- TestYieldBreakAndYieldReturn ---");
var itemsOut2 = TestYieldBreakAndYieldReturn(itemsIn);
foreach(var i in itemsOut2)