C# 如何知道组中的最后一个异步调用何时完成?

C# 如何知道组中的最后一个异步调用何时完成?,c#,asynchronous,concurrency,task,C#,Asynchronous,Concurrency,Task,如果我在C#中运行一系列异步任务,是否有可靠的方法让我知道最后一个任务集何时完成 注意:我正在创建的任务的数量事先不知道,因此我只知道在满足外部条件后何时完成创建任务。任务。whalll(IEnumerable)创建一个任务,该任务在参数列表中的所有任务完成时完成。我正在快速创建任务的实例。是否有一种方法可以在制作它们时添加它们,并且仍然具有该功能?将它们添加到集合中,然后在集合中调用WhenAll()。如果在您退出循环时它们都已完成,whalll的输出将立即完成。啊哈!就在你发布这篇文章的时候

如果我在C#中运行一系列
异步任务
,是否有可靠的方法让我知道最后一个任务集何时完成


注意:我正在创建的
任务的数量事先不知道,因此我只知道在满足外部条件后何时完成创建任务。

任务。whalll(IEnumerable)
创建一个任务,该任务在参数列表中的所有任务完成时完成。

我正在快速创建
任务的实例。是否有一种方法可以在制作它们时添加它们,并且仍然具有该功能?将它们添加到集合中,然后在集合中调用
WhenAll()
。如果在您退出循环时它们都已完成,
whalll
的输出将立即完成。啊哈!就在你发布这篇文章的时候,我刚刚想到了这一点。太好了!;)您可能还想看看
收益率返回
结构——听起来这可能适合您的情况。我将对此进行研究。这可能没有必要,因为我只需要累积所有调用它们的
任务
实例,并在完成排队后将它们传递给调用的方法。