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
Создает задачу, которая будет завершена после завершения любой из предоставленных задач.
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(Task[])
- Исходный код:
- 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>)
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>
Возвращаемое значение
Применяется к
WhenAny(IEnumerable<Task>)
- Исходный код:
- 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
Создает задачу, которая будет выполнена после выполнения любой из предоставленных задач.
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>>)
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>>
Возвращаемое значение
Применяется к
WhenAny<TResult>(Task<TResult>[])
- Исходный код:
- 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
Создает задачу, которая будет завершена после завершения любой из предоставленных задач.
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
устанавливается первая задача для завершения. Результирующий значение имеет значение, true
даже если первая задача, завершившаяся, завершилась в Canceled
состоянии или Faulted
.
Совет
В каждой перегруженной версии Task.WhenAny(), когда этот метод возвращает первую завершенную задачу, другие задачи будут продолжать выполняться до завершения, даже если любая из них будет завершена в Canceled
состоянии или Faulted
. Таким образом, если такое поведение нежелательно, можно отменить все оставшиеся задачи после завершения первой задачи.
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по