Почему сохранение нескольких задач сначала в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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