59
задан 16 November 2012 в 17:28

1 ответ

ЛУЧШИЙ И БОЛЕЕ ПРОСТОЙ ОТВЕТ

На самом деле там подобная универсальная перегрузка:

Task all = Task.WhenAll(tasks)

Это отличается в этом, это возвращается Task, который завершится после всех выполненных задач. таким образом, можно использовать await на нем, или Wait(), независимо от того, что Вы хотите.

Взгляд на подпись:

Перегрузки

---------НЕ УНИВЕРСАЛЬНЫЕ ПЕРЕГРУЗКИ--------------

WhenAll(IEnumerable<Task>) Создают задачу, которая завершится, когда весь из Task объекты в счетном наборе завершился.

WhenAll(Task[]) Создает задачу, которая завершится, когда весь из Task объекты в массиве завершился.

--------- УНИВЕРСАЛЬНЫЕ ПЕРЕГРУЗКИ --------------

WhenAll<TResult>(IEnumerable<Task<TResult>>) Создает задачу, которая завершится, когда весь из Task<TResult> объекты в счетном наборе завершился.

WhenAll<TResult>(Task<TResult>[]) Создает задачу, которая завершится, когда весь из Task<TResult> объекты в массиве завершился.

4
ответ дан 1 November 2019 в 12:50

Другие вопросы по тегам:

Похожие вопросы: