using System.Collections.Generic;
public static void Main()
var list = new int[] { 0, 1, 2, 3 };
var funcList = new List<Func<int>>();
var funcList2 = new List<Func<int>>();
foreach (var item in list)
funcList.Add (() => item);
funcList.ForEach(f => Console.WriteLine(f()));
for (var i = 0; i < list.Length; i++)
funcList2.Add(() => list[i]);
funcList2.ForEach(f => Console.WriteLine(f()));