日期:2014-05-18 浏览次数:20858 次
static void Main(string[] args) { Action funcTemp = null; int i =1; for (; i <= 20; i++) { funcTemp += delegate() { int temp = i; Console.WriteLine("--> " + temp.ToString()); }; Console.Write(i + "_");//在这里输出的i的值正常。 } Console.WriteLine("\n--> 按任意键继续......"); Console.ReadKey(); Console.WriteLine("--> Begin <--"); funcTemp();//在执行委托的时候出问题了。 Console.WriteLine("--> End <--"); Console.ReadKey(); }
for (; i <= 20; i++) { [color=#FF0000] int temp = i;[/color] funcTemp += delegate() { Console.WriteLine("--> " + temp.ToString()); }; Console.Write(i + "_");//在这里输出的i的值正常。 }
------解决方案--------------------