Почему сохранение нескольких задач сначала в var, а затем их ожидание имеет значение? [дубликат]C#

Место общения программистов C#
Гость
Почему сохранение нескольких задач сначала в var, а затем их ожидание имеет значение? [дубликат]

Сообщение Гость »

Учитывая этот код... Почему Main1() займет ~ 1 секунду, а Main2() всего 500 мс?
Почему имеет значение сохранение задачи в переменной сначала, а потом ждем?
async Task Main1()
{
await DoStuff(1);
await DoStuff(2);
}

async Task Main2()
{
var t1 = DoStuff(1);
var t2 = DoStuff(2);
await t1;
await t2;
}

async Task DoStuff(int number)
{
await Task.Delay(500);
Console.WriteLine(number);
}


Источник: https://stackoverflow.com/questions/672 ... wards-make

Вернуться в «C#»