Task.WhenAll返回列表而不是数组

时间:2017-01-10 06:49:11

标签: c# asp.net linq task-parallel-library task

我试图找到解决方案,但我无法找到它。这就是我在这里问的原因。 :)

我有一个任务列表,它有两个项目

List<Task<int>> tasks = new List<Task<int>>();
     tasks.Add(Task.FromResult(1));
          tasks.Add(Task.FromResult(2));

当我调用await Task.WhenAll(tasks)时,它返回int []但我希望它返回List<int>。如下所示:

List<int> result = await Task.WhenAll(tasks);

我希望在得到结果后在列表中添加新项目。

1 个答案:

答案 0 :(得分:13)

你可以写:

List<int> result = (await Task.WhenAll(tasks)).ToList();

这会将数组转换为列表。

不要忘记添加命名空间:

using System.Linq;