using System; using System.Collections.Generic; static class Test { public static int Main () { var fs = new List> (); foreach (int i in new List () { 1, 2, 3 }) { fs.Add (() => i); } int total = 0; foreach (var i in fs) { total += i (); Console.WriteLine (i ()); } if (total != 6) return 1; var fs2 = new List> (); total = 0; foreach (var i in fs2) { total += i (); Console.WriteLine (i ()); } foreach (var i in "abcd") { fs2.Add (() => i); } string concat = ""; foreach (var i in fs2) { concat += i (); Console.WriteLine (i ()); } if (concat != "abcd") return 2; return 0; } }