如果我有这个
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();
}
如何正确将其从列表中删除。我需要某种自我参考吗?
注意:
刚执行的操作应该被删除。这些动作的完成顺序可能与将其添加到列表的顺序不同,但是执行的动作应该是删除的动作。而且我不想同时删除它们,只能等它们完成后再删除。
谢谢
答案 0 :(得分:2)
您可以仅使用对--
TypeError Traceback (most recent call last)
<ipython-input-9-b1b7b1c195f7> in <module>()
367
368 # Set up the Player's chips
--> 369 player_chips = Chips() # remember the default value is 100
370
371 # Prompt the Player for their bet:
TypeError: __init__() missing 1 required positional argument: 'total'
的引用来删除操作的实例。关闭将确保引用指向正确的对象。
action
有关有效的示例,请参见Fiddle。