Task.WhenAny メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定されたタスクのいずれかが完了してから完了するタスクを作成します。
オーバーロード
WhenAny(IEnumerable<Task>) |
指定されたタスクのいずれかが完了してから完了するタスクを作成します。 |
WhenAny(Task[]) |
指定されたタスクのいずれかが完了してから完了するタスクを作成します。 |
WhenAny(Task, Task) |
指定されたいずれかのタスクが完了してから完了するタスクを作成します。 |
WhenAny<TResult>(Task<TResult>[]) |
指定されたタスクのいずれかが完了してから完了するタスクを作成します。 |
WhenAny<TResult>(IEnumerable<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
タスクに Result が設定された状態で終了します。 これは、完了する最初のタスクが または Faulted
状態で終了したCanceled
場合でも当てはまります。
適用対象
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
常に終了します。 これは、完了する最初のタスクが または Faulted
状態で終了したCanceled
場合でも当てはまります。
適用対象
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
完了を待機する 1 番目のタスク。
- task2
- Task
完了を待機する 2 番目のタスク。
戻り値
指定されたタスクの 1 つの完了を表す新しいタスク。 その Result
は最初に完了したタスクです。
例外
task1
または task2
が null
でした。
注釈
返されたタスクは、指定されたタスクのいずれかが完了すると完了します。 返されたタスクは、完了する最初のタスクに RanToCompletion
設定された状態で Result
常に終了します。 結果の値は、true
完了する最初のタスクが または Faulted
状態で終了したCanceled
場合でもです。
適用対象
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>[]
完了を待機するタスク。
戻り値
指定されたいずれかのタスクの完了を表すタスク。 返されるタスクの結果は完了したタスクです。
例外
tasks
引数が null でした。
tasks
配列に null タスクが含まれていたか、空でした。
注釈
返されたタスクは、指定されたタスクのいずれかが完了すると完了します。 返されたタスクは、完了する最初のタスクに RanToCompletion
設定された状態で Result
常に終了します。 これは、完了する最初のタスクが または Faulted
状態で終了したCanceled
場合でも当てはまります。
適用対象
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>>
完了を待機するタスク。
戻り値
指定されたいずれかのタスクの完了を表すタスク。 返されるタスクの結果は完了したタスクです。
例外
tasks
引数が null
でした。
tasks
配列に null タスクが含まれていたか、空でした。
注釈
返されたタスクは、指定されたタスクのいずれかが完了すると完了します。 返されたタスクは、完了する最初のタスクに RanToCompletion
設定された状態で Result
常に終了します。 これは、完了する最初のタスクが または Faulted
状態で終了したCanceled
場合でも当てはまります。
適用対象
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>
完了を待機する 1 番目のタスク。
- task2
- Task<TResult>
完了を待機する 2 番目のタスク。
戻り値
指定されたいずれかのタスクの完了を表すタスク。 返されるタスクは TResult
、最初に完了したタスクです。
例外
task1
または task2
が null
でした。
注釈
返されたタスクは、指定されたタスクのいずれかが完了すると完了します。 返されたタスクは、完了する最初のタスクに RanToCompletion
設定された状態で Result
常に終了します。 結果の値は、true
完了する最初のタスクが または Faulted
状態で終了したCanceled
場合でもです。
ヒント
このメソッドが最初に完了したタスクを返すときに、オーバーロードされたすべてのバージョンの Task.WhenAny() では、他のタスクは完了するまで実行され続けます。いずれかのタスクが または Faulted
状態でCanceled
完了した場合でも実行されます。 そのため、その動作が望ましくない場合は、最初のタスクが完了したら、残りのすべてのタスクを取り消す必要があります。