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>
Задачи, которые нужно ждать завершения.
Возвращаемое значение
Задача, представляющая завершение одной из предоставленных задач. Результат возвращаемой задачи — это задача, которая завершена.
Исключения
Массив tasks
содержит задачу null
или пуст.
Комментарии
Возвращаемая задача завершится после завершения любой из предоставленных задач. Возвращаемая задача всегда заканчивается в состоянии RanToCompletion с его результирующий набор для выполнения первой задачи. Это true
даже если первая задача завершена в состоянии отмены или сбоя.
Применяется к
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>>
Задачи, которые нужно ждать завершения.
Возвращаемое значение
Задача, представляющая завершение одной из предоставленных задач. Результат возвращаемой задачи — это задача, которая завершена.
Исключения
Массив tasks
содержит задачу null
или пуст.
Комментарии
Возвращаемая задача завершится после завершения любой из предоставленных задач. Возвращаемая задача всегда заканчивается в состоянии RanToCompletion с его результирующий набор для выполнения первой задачи. Это true
даже если первая задача завершена в состоянии отмены или сбоя.
Применяется к
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
. Таким образом, если это поведение не требуется, вы можете отменить все оставшиеся задачи после завершения первой задачи.