Мне нужно запустить несколько ожидаемых задач, а затем собрать их результаты в список и вернуть его.
Я могу создавать задачи в цикле и использовать Task.WhenAll, чтобы ожидать их, но я не могу понять, как получить доступ к результатам каждой ожидаемой задачи. Я пробовал ниже, но результат не определен.
List<Service> services = new List<Service>();
List<Exception> exceptions = new List<Exception>();
List<Task<Service>> tasks = new List<Task<Service>>();
foreach (string serviceMoniker in monikers)
{
try
{
tasks.Add(GetService(serviceMoniker, tenantMoniker, countryCode, environmentId));
}
catch (Exception e) { exceptions.Add(e); }
}
var continuation = Task.WhenAll(tasks);
for (int i=0; i < continuation.Result.Length - 1; i++)
{
services.Add(continuation.Result[i].Result);
}
еще одна попытка
await Task.WhenAll(tasks);
foreach (Task t in tasks)
{
services.Add(t.Result);
}