嗨我有一个代码,我不明白应该是他的输出。
这是代码:
delegate void Employee();
static void Main()
{
IList employees= new List<Employee>();
for(int i=0;i<3;i++)
{
employee.Add( () => Console.Write(i));
}
foreach(var employee in employees)
{
employee();
}
}
任何人都可以帮我这个吗?什么是输出,你是如何找到它的?
答案 0 :(得分:0)
您的代码不能编译
我认为这就是你的意思:
delegate void Employee(); // Note that this is equivalent to the Action delegate
static void Main(string[] args)
{
IList employees = new List<Employee>();
for (int i = 0; i < 3; i++)
{
employees.Add(new Employee(() => Console.Write(i)));
}
foreach (Employee employee in employees)
{
employee();
}
}
由于你的3位代表i
变量为captured,蒂姆指出打印333。
Employee不是委托的理想名称,起初我认为你有一个名为Employee的类和另一个名为employee
的集合,但似乎你唯一需要的是委托实例的集合。