要实现等待所有异步任务完成,可以使用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"。