任务.所有结果排序

本文关键字:排序 结果 任务 | 更新日期: 2023-09-27 17:59:07

我从这里了解到Task.WhenAll的任务执行顺序是不确定的,但我找不到任何关于结果顺序的信息。

结果集合是否按任务在输入中的顺序包含结果,或者结果可以按任何顺序包含?

从我所做的测试来看,它似乎保持了秩序,但我需要确认。

任务.所有结果排序

来自MSDN:

Task.WhenAll<TResult>(IEnumerable<Task<TResult>>)

Task<TResult>为输入的重载包含以下语句:

如果没有任何任务出现故障,也没有任何任务被取消由此产生的任务将以RanToCompletion状态结束。的结果返回的任务将设置为一个数组,该数组包含提供的任务的结果与提供的顺序相同(例如,如果输入任务数组包含t1、t2、t3,则输出任务的Result将返回TResult[],其中arr[0]==t1。Result,arr[1]==t2.结果,并且arr[2]==t3.结果)。