有人知道在等待后将元素添加到Task.WhenAny(IEnumerable<Task>)
时,list
是否会按预期工作?即:
class lunch {
private List<Task> lunchTasks = new List<Task>();
public void MakeLunch() {
Task makeSandwich = new Task();
Task eatSandwich = new Task();
makeSandwich.Delay(-1);
eatSandwich.Delay(-1);
lunchTasks.Add(makeSandwich);
lunchTasks.Add(eatSandwich);
await Task.WhenAny(lunchTasks).ConfigureAwait(false);
}
public void CleanUp() {
Task cleanUp = Task.CompletedTask;
lunchTasks.Add(cleanUp);
}
}
假设CleanUp()
之后异步调用MakeLunch()
,MakeLunch()
会返回/完成吗?