如果我有这个private static List<Action> actions = new List<Action>();private static void Main(){ for (var i = 0; i < 10; i += 1) { Action action = async () => { // want to remove this specific lambda item from the "actions" variable. // is there something like this: /* Action this_action = this; actions.Remove(this_action); */ }; actions.Add(action); } Parallel.Invoke(actions.ToArray()); Console.Write("\nPress any key to exit..."); Console.ReadKey();}如何从列表中正确删除它。我需要某种自我参考?
1 回答
皈依舞
TA贡献1851条经验 获得超3个赞
您可以仅使用 to 的引用action来删除操作的实例。关闭将确保引用指向正确的对象。
for (var i = 0; i < 10; i += 1)
{
Action action = null;
action = () => {
actions.Remove(action);
};
actions.Add(action);
}
Parallel.Invoke(actions.ToArray());
有关工作示例,请参阅Fiddle。
- 1 回答
- 0 关注
- 454 浏览
添加回答
举报
0/150
提交
取消