Task.WhenAny 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
任何提供的任务已完成时,创建将完成的任务。
重载
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>)
- Source:
- Task.cs
- Source:
- Task.cs
- Source:
- 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(Task[])
- Source:
- Task.cs
- Source:
- Task.cs
- Source:
- 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(Task, Task)
- Source:
- Task.cs
- Source:
- Task.cs
- Source:
- 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
状态结束,结果值也是如此true
。
适用于
WhenAny<TResult>(IEnumerable<Task<TResult>>)
- Source:
- Task.cs
- Source:
- Task.cs
- Source:
- 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>(Task<TResult>[])
- Source:
- Task.cs
- Source:
- Task.cs
- Source:
- 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>)
- Source:
- Task.cs
- Source:
- Task.cs
- Source:
- 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
状态结束,结果值也是如此true
。
提示
在此方法返回第一个完成的任务时,在每个重载版本的 Task.WhenAny () 中,其他任务将继续运行,直到完成,甚至任何任务都以 Canceled
或 Faulted
状态完成。 因此,如果不需要该行为,可能需要在第一个任务完成后取消所有剩余任务。
适用于
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈