Task.WhenAny Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает задачу, которая завершится после завершения любой из предоставленных задач.
Перегрузки
| Имя | Описание |
|---|---|
| WhenAny(Task, Task) |
Создает задачу, которая завершится после завершения любой из предоставленных задач. |
| WhenAny(Task[]) |
Создает задачу, которая завершится после завершения любой из предоставленных задач. |
| WhenAny(ReadOnlySpan<Task>) |
Создает задачу, которая завершится после завершения любой из предоставленных задач. |
| WhenAny(IEnumerable<Task>) |
Создает задачу, которая завершится после завершения любой из предоставленных задач. |
| WhenAny<TResult>(IEnumerable<Task<TResult>>) |
Создает задачу, которая завершится после завершения любой из предоставленных задач. |
| WhenAny<TResult>(ReadOnlySpan<Task<TResult>>) |
Создает задачу, которая завершится после завершения любой из предоставленных задач. |
| WhenAny<TResult>(Task<TResult>[]) |
Создает задачу, которая завершится после завершения любой из предоставленных задач. |
| WhenAny<TResult>(Task<TResult>, Task<TResult>) |
Создает задачу, которая завершится после завершения любой из предоставленных задач. |
WhenAny(Task, Task)
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
Создает задачу, которая завершится после завершения любой из предоставленных задач.
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 для выполнения первой задачей. Это верно, даже если первая задача завершена в Canceled состоянии или Faulted состоянии.
Применяется к
WhenAny(Task[])
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
Создает задачу, которая завершится после завершения любой из предоставленных задач.
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(ReadOnlySpan<Task>)
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
Создает задачу, которая завершится после завершения любой из предоставленных задач.
public:
static System::Threading::Tasks::Task<System::Threading::Tasks::Task ^> ^ WhenAny(ReadOnlySpan<System::Threading::Tasks::Task ^> tasks);
public static System.Threading.Tasks.Task<System.Threading.Tasks.Task> WhenAny(scoped ReadOnlySpan<System.Threading.Tasks.Task> tasks);
static member WhenAny : ReadOnlySpan<System.Threading.Tasks.Task> -> System.Threading.Tasks.Task<System.Threading.Tasks.Task>
Public Shared Function WhenAny (tasks As ReadOnlySpan(Of Task)) As Task(Of Task)
Параметры
- tasks
- ReadOnlySpan<Task>
Задачи, которые нужно ждать завершения.
Возвращаемое значение
Задача, представляющая завершение одной из предоставленных задач. Результат возвращаемой задачи — это задача, которая завершена.
Исключения
Массив tasks содержит null задачу или пуст.
Комментарии
Возвращаемая задача завершится после завершения любой из предоставленных задач. Возвращаемая задача всегда заканчивается в состоянии RanToCompletion с его результирующий набор для выполнения первой задачи.
true Это даже если первая задача завершена в состоянии отмены или сбоя.
Применяется к
WhenAny(IEnumerable<Task>)
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
Создает задачу, которая завершится после завершения любой из предоставленных задач.
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<TResult>(IEnumerable<Task<TResult>>)
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
Создает задачу, которая завершится после завершения любой из предоставленных задач.
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>>
Задачи, которые нужно ждать завершения.
Возвращаемое значение
Задача, представляющая завершение одной из предоставленных задач. Результат задачи возврата — это задача, которая завершена.
Исключения
Аргумент tasks был null.
Массив tasks содержал задачу NULL или был пустым.
Комментарии
Возвращаемая задача завершится после завершения любой из предоставленных задач. Возвращаемая задача всегда заканчивается в RanToCompletion состоянии с заданным для выполнения Result первой задачей. Это верно, даже если первая задача завершена в Canceled состоянии или Faulted состоянии.
Применяется к
WhenAny<TResult>(ReadOnlySpan<Task<TResult>>)
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
Создает задачу, которая завершится после завершения любой из предоставленных задач.
public:
generic <typename TResult>
static System::Threading::Tasks::Task<System::Threading::Tasks::Task<TResult> ^> ^ WhenAny(ReadOnlySpan<System::Threading::Tasks::Task<TResult> ^> tasks);
public static System.Threading.Tasks.Task<System.Threading.Tasks.Task<TResult>> WhenAny<TResult>(scoped ReadOnlySpan<System.Threading.Tasks.Task<TResult>> tasks);
static member WhenAny : ReadOnlySpan<System.Threading.Tasks.Task<'Result>> -> System.Threading.Tasks.Task<System.Threading.Tasks.Task<'Result>>
Public Shared Function WhenAny(Of TResult) (tasks As ReadOnlySpan(Of Task(Of TResult))) As Task(Of Task(Of TResult))
Параметры типа
- TResult
Тип результата, возвращаемого задачами.
Параметры
- tasks
- ReadOnlySpan<Task<TResult>>
Задачи, которые нужно ждать завершения.
Возвращаемое значение
Задача, представляющая завершение одной из предоставленных задач. Результат возвращаемой задачи — это задача, которая завершена.
Исключения
Массив tasks содержит null задачу или пуст.
Комментарии
Возвращаемая задача завершится после завершения любой из предоставленных задач. Возвращаемая задача всегда заканчивается в состоянии RanToCompletion с его результирующий набор для выполнения первой задачи.
true Это даже если первая задача завершена в состоянии отмены или сбоя.
Применяется к
WhenAny<TResult>(Task<TResult>[])
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
Создает задачу, которая завершится после завершения любой из предоставленных задач.
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>[]
Задачи, которые нужно ждать завершения.
Возвращаемое значение
Задача, представляющая завершение одной из предоставленных задач. Результат задачи возврата — это задача, которая завершена.
Исключения
Аргумент tasks был null.
Массив tasks содержал задачу NULL или был пустым.
Комментарии
Возвращаемая задача завершится после завершения любой из предоставленных задач. Возвращаемая задача всегда заканчивается в RanToCompletion состоянии с заданным для выполнения Result первой задачей. Это верно, даже если первая задача завершена в Canceled состоянии или Faulted состоянии.
Применяется к
WhenAny<TResult>(Task<TResult>, Task<TResult>)
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
- Исходный код:
- Task.cs
Создает задачу, которая завершится после завершения любой из предоставленных задач.
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>
Вторая задача, подождать завершения.
Возвращаемое значение
Задача, представляющая завершение одной из предоставленных задач. Возвращаемая задача — это задача TResult , которая была завершена первым.
Исключения
task1 или task2 был null.
Комментарии
Возвращаемая задача завершается после завершения любой из предоставленных задач. Возвращаемая задача всегда заканчивается в RanToCompletion состоянии с заданным Result для выполнения первой задачей. Это верно, даже если первая задача завершена в Canceled состоянии или Faulted состоянии.
Tip
При каждой перегрузке Task.WhenAny(), когда метод возвращает первую завершенную задачу, другие задачи будут продолжать выполняться до завершения, даже если любой из них завершен в Canceled состоянии или Faulted состоянии. Если это поведение нежелательно, можно отменить все оставшиеся задачи после завершения первой задачи.