【发布时间】:2012-03-23 02:00:11
【问题描述】:
我不明白如何遍历 Action 列表。当我尝试它时,我最终得到的值与上一次迭代相同。
这是代码(简化示例):
string[] strings = { "abc", "def", "ghi" };
var actions = new List<Action>();
foreach (string str in strings)
actions.Add(new Action(() => { Trace.WriteLine(str); }));
foreach (var action in actions)
action();
输出:
ghi
ghi
ghi
为什么执行动作时总是选择strings中的最后一个元素?
以及如何实现所需的输出:
abc
def
ghi
【问题讨论】:
标签: c# action enumeration