Size: a a a

var chat = new Chat();

2020 November 25

VL

Vova Lantsov in var chat = new Chat();
Oleksii Zaichenko
Я когда слышу такое на собесе, спрашиваю что будет при вызове .GetAwaiter().GetResult() на таске, которую вернул Task.WhenAll(). Если несколько ожидаемых тасок свалилось.
Wait() оборачивает в AggregateException ошибку таска. У GetAwaiter().GetResult() же выбрасывается конкретная ошибка сразу, например InvalidOperationException. Учитывая, что в Task.WhenAll при использовании await тоже убирается AggregateException, я вижу схожесть подходов, а значит и упрощённый переход с синхронного на асинхронный код (логика обработки ошибок не поменяется)
источник

VL

Vova Lantsov in var chat = new Chat();
Если нужно получить ошибки из нескольких задач, это уже немного другая задача)
источник

OZ

Oleksii Zaichenko in var chat = new Chat();
Vova Lantsov
Если нужно получить ошибки из нескольких задач, это уже немного другая задача)
Но единственное отличие двух подходов - в том как возвращается информация, об ошибке. Я бы сказал,  что со времен c# 5 использование wait() в коде весьма ситуативно, но я бы не назвал его неправильным. В случае с getawaiter().getresult() получение ошибок всех тасок выглядит более костыльно, имхо
источник

VL

Vova Lantsov in var chat = new Chat();
Oleksii Zaichenko
Но единственное отличие двух подходов - в том как возвращается информация, об ошибке. Я бы сказал,  что со времен c# 5 использование wait() в коде весьма ситуативно, но я бы не назвал его неправильным. В случае с getawaiter().getresult() получение ошибок всех тасок выглядит более костыльно, имхо
Task.WhenAll это в принципе больше исключение из случаев чем практика) Чаще всего таски возвращают по 1 ошибке и тут конечно же возиться с AggregateException не захочется
источник

VL

Vova Lantsov in var chat = new Chat();
По поводу обработки нескольких ошибок я соглашусь что Wait() выглядит привлекательнее
источник

КС

Кирилл Смолов... in var chat = new Chat();
Привет. Есть у кого-то родмап или курс какой-нибудь по с#?
источник

TI

Taras Ivanyshyn🍍 in var chat = new Chat();
Кирилл Смолов
Привет. Есть у кого-то родмап или курс какой-нибудь по с#?
источник

PE

Pavel Erokhin in var chat = new Chat();
Кирилл Смолов
Привет. Есть у кого-то родмап или курс какой-нибудь по с#?
Родмапу на гитхабе поищи
источник

КС

Кирилл Смолов... in var chat = new Chat();
Эти по порядку проходить?
источник

КС

Кирилл Смолов... in var chat = new Chat();
Те, что метанит
источник

PE

Pavel Erokhin in var chat = new Chat();
Кирилл Смолов
Эти по порядку проходить?
Нет, первый пропускай сразу, и иди ко второму
источник

КС

Кирилл Смолов... in var chat = new Chat();
Pavel Erokhin
Нет, первый пропускай сразу, и иди ко второму
Окей...
источник

PE

Pavel Erokhin in var chat = new Chat();
источник

КС

Кирилл Смолов... in var chat = new Chat();
Это сарказм был или чё?
источник

PE

Pavel Erokhin in var chat = new Chat();
Не сарказм, я серьезно, пропускай это
источник

PE

Pavel Erokhin in var chat = new Chat();
Сразу к доке, что не поймешь в процессе реализации задачи, будешь гуглить, и уже по надобности, может наткнешься на метанит
источник

КС

Кирилл Смолов... in var chat = new Chat();
Окей
источник

PE

Pavel Erokhin in var chat = new Chat();
Но если с английским все норм, то про метанит в принципе можно даже не думать
источник

КС

Кирилл Смолов... in var chat = new Chat();
Pavel Erokhin
Но если с английским все норм, то про метанит в принципе можно даже не думать
А ок
источник

КС

Кирилл Смолов... in var chat = new Chat();
источник