Иногда я хочу ждать кучу задач параллельно, но сами задачи зависят от некоторого условия.Я мог бы написать
var tasks = new List<Task> { DoThisAsync(), DoThatAsync() };
if (condition) tasks.Add(AlsoDoOtherStuffAsync());
await Task.WhenAll(tasks);
Но что, если я напишу
var task = Task.WhenAll(DoThisAsync(), DoThatAsync());
if (condition) task = Task.WhenAll(task, AlsoDoOtherStuffAsync());
await task;
Есть ли разница в поведении между двумя версиями?Является ли один предпочтительный или режим идиоматическим, чем другой?