小编Aut*_*rii的帖子

调用 Task.WhenAll() 后获取结果

Task.WhenAll(params System.Threading.Tasks.Task[] tasks) 返回Task,但是调用此方法后获取任务结果的正确方法是什么?等待该任务后,可以通过再次等待原始任务来获取结果,这应该没问题,因为任务已经完成。还可以使用 Task.Result 属性获取结果,这通常被认为不是好的做法

Task<TResult1> task1= ...
Task<TResult2> task2= ...
Task<TResult3> task3= ...

await Task.WhenAll(task1, task2, task3)
var a = task1.Result; // returns TResult1
var b = await task1; // also returns TResult1

Run Code Online (Sandbox Code Playgroud)

我应该在这里选择哪一个,为什么?

c#

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

c# ×1