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

Saa*_*adi 2 c# linq asp.net task task-parallel-library

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

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

List<Task<int>> tasks = new List<Task<int>>();
     tasks.Add(Task.FromResult(1));
          tasks.Add(Task.FromResult(2));
Run Code Online (Sandbox Code Playgroud)

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

List<int> result = await Task.WhenAll(tasks);
Run Code Online (Sandbox Code Playgroud)

我想在得到结果后在列表中添加新项目.

Pet*_*ter 17

你可以写:

List<int> result = (await Task.WhenAll(tasks)).ToList();
Run Code Online (Sandbox Code Playgroud)

这会将数组转换为列表.

不要忘记添加命名空间:

using System.Linq;
Run Code Online (Sandbox Code Playgroud)