要实现等待所有异步任务完成,可以使用Task.WhenAll方法。这个方法接受一个Task数组作为参数,然后返回一个新的Task,该任务在所有输入任务都完成时完成。
示例代码如下:
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
Task task1 = Task.Delay(1000);
Task task2 = Task.Delay(2000);
Task task3 = Task.Delay(3000);
// 等待所有任务完成
await Task.WhenAll(task1, task2, task3);
Console.WriteLine("All tasks have completed.");
}
}
在上面的示例中,我们创建了三个异步任务task1、task2和task3,并使用Task.WhenAll方法等待它们全部完成。一旦所有任务完成,程序将输出"All tasks have completed"。