我如何等待不同类型的任务数组?

时间:2015-12-03 10:39:38

标签: c# asynchronous task

我有一个非常简单的问题,但我似乎无法在任何地方找到答案。

鉴于我有几个不同类型的任务数组,例如。

Task<Dog>[] dogTasks = GetDogTasks();
Task<Cat>[] catTasks = GetCatTasks();
Task<Fish>[] fishTasks = GetFishTasks();

WaitAll()执行这些任务的最佳方式是什么?

1 个答案:

答案 0 :(得分:4)

WaitAll应该可以解决您的问题。您有任务数组,因此您应该从中创建一个数组:

var tasks = new List<Task>();
tasks.AddRange(dogTasks);
tasks.AddRange(catTasks);
tasks.AddRange(fishTasks);
Task.WaitAll(tasks.ToArray());