我想了解闭包,已经阅读了一些材料,但..然后我试了这个。在for循环中使用匿名方法的闭包
据我所知,一个类生成包含特定的匿名方法(在我的情况下,写入控制台)和int变量j。它如何将所有的j值存储在一个类中?这种类别的背后是否有许多实例?
class Program
{
public static List<Action> actions = new List<Action>();
static void Main(string[] args)
{
AddActions(10);
actions[0]();
actions[1]();
Console.ReadLine();
}
public static void AddActions(int count)
{
for (int i = 0; i < count; i++)
{
int j = i;
actions.Add(delegate()
{
Console.Write("{0} ", j);
});
}
}
}
与结果:0 1
http://blogs.msdn.com/b/oldnewthing/archive/2006/08/02/686456.aspx – Igor