Избегайте двойной проверки условия при назначении из задачи, ожидаемой с помощью Task.WhenAll().C#

Место общения программистов C#
Anonymous
Избегайте двойной проверки условия при назначении из задачи, ожидаемой с помощью Task.WhenAll().

Сообщение Anonymous »

Есть ли лучший способ написать этот асинхронный код (например, чтобы мне не приходилось повторять if (myCondition) дважды)? Я хочу здесь избежать использования Task.Run.
var tasks = new List();
Task t1 = null;
Task t2 = null;

if (myCondition) {
t1 = getAsync();
tasks.Add(t1);
}

if (myOtherCondition) {
t2 = getAsync2();
tasks.Add(t2);
}

await Task.WhenAll(tasks)

if (myCondition) {
result.foo = await t1;
}

if (myOtherCondition) {
result.bar = await t2;
}


Подробнее здесь: https://stackoverflow.com/questions/694 ... ask-whenal

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