IEnumerable<Task<Request>> requestTasks = CreateRequestTasks();
Task<Trace> traceTask = CreateTraceTask();

var tasks = new List<Task>();
tasks.AddRange(requestTasks);
tasks.Add(traceTask);

await Task.WhenAll(tasks);


如何从requestTasks集合中获得结果?

最佳答案

如何从requestTasks集合中获取结果?


将其保存为单独的(经过修饰的)集合:

List<Task<Request>> requestTasks = CreateRequestTasks().ToList();
...
await Task.WhenAll(tasks);
var results = await Task.WhenAll(requestTasks);


请注意,第二个await Task.WhenAll实际上不会执行任何“异步等待”,因为所有这些任务已经完成。

08-27 18:57