Task.WhenAny Метод

Определение

Создает задачу, которая будет выполнена после выполнения любой из предоставленных задач.

Перегрузки

WhenAny(IEnumerable<Task>)

Создает задачу, которая будет выполнена после выполнения любой из предоставленных задач.

WhenAny(Task[])

Создает задачу, которая будет выполнена после выполнения любой из предоставленных задач.

WhenAny(Task, Task)

Создает задачу, которая будет завершена после завершения любой из предоставленных задач.

WhenAny<TResult>(IEnumerable<Task<TResult>>)

Создает задачу, которая будет выполнена после выполнения любой из предоставленных задач.

WhenAny<TResult>(Task<TResult>[])

Создает задачу, которая будет выполнена после выполнения любой из предоставленных задач.

WhenAny<TResult>(Task<TResult>, Task<TResult>)

Создает задачу, которая будет завершена после завершения любой из предоставленных задач.

WhenAny(IEnumerable<Task>)

Создает задачу, которая будет выполнена после выполнения любой из предоставленных задач.

public:
 static System::Threading::Tasks::Task<System::Threading::Tasks::Task ^> ^ WhenAny(System::Collections::Generic::IEnumerable<System::Threading::Tasks::Task ^> ^ tasks);
public static System.Threading.Tasks.Task<System.Threading.Tasks.Task> WhenAny (System.Collections.Generic.IEnumerable<System.Threading.Tasks.Task> tasks);
static member WhenAny : seq<System.Threading.Tasks.Task> -> System.Threading.Tasks.Task<System.Threading.Tasks.Task>
Public Shared Function WhenAny (tasks As IEnumerable(Of Task)) As Task(Of Task)

Параметры

tasks
IEnumerable<Task>

Задачи, завершение которых требуется подождать.

Возвращаемое значение

Задача, представляющая завершение одной из предоставленных задач. Результат возвращенной задачи — задача, которая была завершена.

Исключения

Аргумент tasks имел значение null.

Массив tasks содержал задачу со значением NULL или был пустым.

Комментарии

Возвращенная задача завершится после завершения любой из предоставленных задач. Возвращаемая задача всегда заканчивается в RanToCompletion состоянии , а для результата задана первая задача для завершения. Это верно, даже если первая задача завершилась в Canceled состоянии или Faulted .

Применяется к

WhenAny(Task[])

Создает задачу, которая будет выполнена после выполнения любой из предоставленных задач.

public:
 static System::Threading::Tasks::Task<System::Threading::Tasks::Task ^> ^ WhenAny(... cli::array <System::Threading::Tasks::Task ^> ^ tasks);
public static System.Threading.Tasks.Task<System.Threading.Tasks.Task> WhenAny (params System.Threading.Tasks.Task[] tasks);
static member WhenAny : System.Threading.Tasks.Task[] -> System.Threading.Tasks.Task<System.Threading.Tasks.Task>
Public Shared Function WhenAny (ParamArray tasks As Task()) As Task(Of Task)

Параметры

tasks
Task[]

Задачи, завершение которых требуется подождать.

Возвращаемое значение

Задача, представляющая завершение одной из предоставленных задач. Результат возвращенной задачи — задача, которая была завершена.

Исключения

Аргумент tasks имел значение NULL.

Массив tasks содержал задачу со значением NULL или был пустым.

Комментарии

Возвращенная задача завершится после завершения любой из предоставленных задач. Возвращаемая задача всегда заканчивается в RanToCompletion состоянии , для нее Result устанавливается первая задача для завершения. Это верно, даже если первая задача завершилась в Canceled состоянии или Faulted .

Применяется к

WhenAny(Task, Task)

Создает задачу, которая будет завершена после завершения любой из предоставленных задач.

public:
 static System::Threading::Tasks::Task<System::Threading::Tasks::Task ^> ^ WhenAny(System::Threading::Tasks::Task ^ task1, System::Threading::Tasks::Task ^ task2);
public static System.Threading.Tasks.Task<System.Threading.Tasks.Task> WhenAny (System.Threading.Tasks.Task task1, System.Threading.Tasks.Task task2);
static member WhenAny : System.Threading.Tasks.Task * System.Threading.Tasks.Task -> System.Threading.Tasks.Task<System.Threading.Tasks.Task>
Public Shared Function WhenAny (task1 As Task, task2 As Task) As Task(Of Task)

Параметры

task1
Task

Первая задача, на которые нужно дождаться завершения.

task2
Task

Вторая задача, которая ожидает завершения.

Возвращаемое значение

Новая задача, которая представляет завершение одной из предоставляемых задач. Result — это задача, которая была завершена первой.

Исключения

task1 или task2 было null.

Комментарии

Возвращенная задача завершится после завершения любой из предоставленных задач. Возвращаемая задача всегда заканчивается в RanToCompletion состоянии , для нее Result устанавливается первая задача для завершения. Результирующий значение имеет значение, true даже если первая задача, завершившаяся, завершилась в Canceled состоянии или Faulted .

Применяется к

WhenAny<TResult>(IEnumerable<Task<TResult>>)

Создает задачу, которая будет выполнена после выполнения любой из предоставленных задач.

public:
generic <typename TResult>
 static System::Threading::Tasks::Task<System::Threading::Tasks::Task<TResult> ^> ^ WhenAny(System::Collections::Generic::IEnumerable<System::Threading::Tasks::Task<TResult> ^> ^ tasks);
public static System.Threading.Tasks.Task<System.Threading.Tasks.Task<TResult>> WhenAny<TResult> (System.Collections.Generic.IEnumerable<System.Threading.Tasks.Task<TResult>> tasks);
static member WhenAny : seq<System.Threading.Tasks.Task<'Result>> -> System.Threading.Tasks.Task<System.Threading.Tasks.Task<'Result>>
Public Shared Function WhenAny(Of TResult) (tasks As IEnumerable(Of Task(Of TResult))) As Task(Of Task(Of TResult))

Параметры типа

TResult

Тип завершенной задачи.

Параметры

tasks
IEnumerable<Task<TResult>>

Задачи, завершение которых требуется подождать.

Возвращаемое значение

Task<Task<TResult>>

Задача, представляющая завершение одной из предоставленных задач. Результат возвращенной задачи — задача, которая была завершена.

Исключения

Аргумент tasks имел значение null.

Массив tasks содержал задачу со значением NULL или был пустым.

Комментарии

Возвращенная задача завершится после завершения любой из предоставленных задач. Возвращаемая задача всегда заканчивается в RanToCompletion состоянии , для нее Result устанавливается первая задача для завершения. Это верно, даже если первая задача завершилась в Canceled состоянии или Faulted .

Применяется к

WhenAny<TResult>(Task<TResult>[])

Создает задачу, которая будет выполнена после выполнения любой из предоставленных задач.

public:
generic <typename TResult>
 static System::Threading::Tasks::Task<System::Threading::Tasks::Task<TResult> ^> ^ WhenAny(... cli::array <System::Threading::Tasks::Task<TResult> ^> ^ tasks);
public static System.Threading.Tasks.Task<System.Threading.Tasks.Task<TResult>> WhenAny<TResult> (params System.Threading.Tasks.Task<TResult>[] tasks);
static member WhenAny : System.Threading.Tasks.Task<'Result>[] -> System.Threading.Tasks.Task<System.Threading.Tasks.Task<'Result>>
Public Shared Function WhenAny(Of TResult) (ParamArray tasks As Task(Of TResult)()) As Task(Of Task(Of TResult))

Параметры типа

TResult

Тип завершенной задачи.

Параметры

tasks
Task<TResult>[]

Задачи, завершение которых требуется подождать.

Возвращаемое значение

Task<Task<TResult>>

Задача, представляющая завершение одной из предоставленных задач. Результат возвращенной задачи — задача, которая была завершена.

Исключения

Аргумент tasks имел значение NULL.

Массив tasks содержал задачу со значением NULL или был пустым.

Комментарии

Возвращенная задача завершится после завершения любой из предоставленных задач. Возвращаемая задача всегда заканчивается в RanToCompletion состоянии , для нее Result устанавливается первая задача для завершения. Это верно, даже если первая задача завершилась в Canceled состоянии или Faulted .

Применяется к

WhenAny<TResult>(Task<TResult>, Task<TResult>)

Создает задачу, которая будет завершена после завершения любой из предоставленных задач.

public:
generic <typename TResult>
 static System::Threading::Tasks::Task<System::Threading::Tasks::Task<TResult> ^> ^ WhenAny(System::Threading::Tasks::Task<TResult> ^ task1, System::Threading::Tasks::Task<TResult> ^ task2);
public static System.Threading.Tasks.Task<System.Threading.Tasks.Task<TResult>> WhenAny<TResult> (System.Threading.Tasks.Task<TResult> task1, System.Threading.Tasks.Task<TResult> task2);
static member WhenAny : System.Threading.Tasks.Task<'Result> * System.Threading.Tasks.Task<'Result> -> System.Threading.Tasks.Task<System.Threading.Tasks.Task<'Result>>
Public Shared Function WhenAny(Of TResult) (task1 As Task(Of TResult), task2 As Task(Of TResult)) As Task(Of Task(Of TResult))

Параметры типа

TResult

Тип результата возвращаемой задачи.

Параметры

task1
Task<TResult>

Первая задача, на которые нужно дождаться завершения.

task2
Task<TResult>

Вторая задача, которая ожидает завершения.

Возвращаемое значение

Task<Task<TResult>>

Задача, представляющая завершение одной из предоставленных задач. Возвращаемая задача TResult — это задача, которая была выполнена первой.

Исключения

task1 или task2 было null.

Комментарии

Возвращенная задача завершится после завершения любой из предоставленных задач. Возвращаемая задача всегда заканчивается в RanToCompletion состоянии , для нее Result устанавливается первая задача для завершения. Результирующий значение имеет значение, true даже если первая задача, завершившаяся, завершилась в Canceled состоянии или Faulted .

Совет

В каждой перегруженной версии Task.WhenAny(), когда этот метод возвращает первую завершенную задачу, другие задачи будут продолжать выполняться до завершения, даже если любая из них будет завершена в Canceled состоянии или Faulted . Таким образом, если такое поведение нежелательно, можно отменить все оставшиеся задачи после завершения первой задачи.

Применяется к