Task.WhenAny メソッド
この記事の内容
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定されたタスクのいずれかが完了したときに完了するタスクを作成します。
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>) |
指定されたタスクのいずれかが完了したときに完了するタスクを作成します。 |
- ソース:
- 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
完了を待機する 2 番目のタスク。
戻り値
指定されたタスクの 1 つの完了を表す新しいタスク。 その Result
は、最初に完了したタスクです。
例外
task1
または task2
が null
されました。
注釈
返されたタスクは、指定されたタスクのいずれかが完了すると完了します。 返されたタスクは常に RanToCompletion
状態で終了し、その Result
は完了する最初のタスクに設定されます。 結果の値は、完了する最初のタスクが Canceled
または Faulted
状態で終了した場合でも true
されます。
適用対象
.NET 9 およびその他のバージョン
製品 | バージョン |
---|---|
.NET | 5, 6, 7, 8, 9 |
- ソース:
- 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[]
完了を待機するタスク。
戻り値
指定されたタスクの 1 つの完了を表すタスク。 戻りタスクの結果は、完了したタスクです。
例外
tasks
引数は null でした。
tasks
配列に null タスクが含まれていたか、空でした。
注釈
返されたタスクは、指定されたタスクのいずれかが完了すると完了します。 返されたタスクは常に RanToCompletion
状態で終了し、その Result
は完了する最初のタスクに設定されます。 これは、完了する最初のタスクが Canceled
または Faulted
状態で終了した場合でも当てはまります。
適用対象
.NET 9 およびその他のバージョン
製品 | バージョン |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
指定されたタスクのいずれかが完了したときに完了するタスクを作成します。
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>
完了を待機するタスク。
戻り値
指定されたタスクの 1 つの完了を表すタスク。 戻り値のタスクの結果は、完了したタスクです。
例外
tasks
配列に null
タスクが含まれているか、空です。
注釈
返されたタスクは、指定されたタスクのいずれかが完了すると完了します。 返されたタスクは常に RanToCompletion 状態で終了し、結果は完了する最初のタスクに設定されます。 これは、完了する最初のタスクが [キャンセル済み] または [Faulted] 状態で終了した場合でも true
されます。
適用対象
.NET 9
製品 | バージョン |
---|---|
.NET | 9 |
- ソース:
- 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>
完了を待機するタスク。
戻り値
指定されたタスクの 1 つの完了を表すタスク。 戻りタスクの結果は、完了したタスクです。
例外
tasks
引数が null
されました。
tasks
配列に null タスクが含まれていたか、空でした。
注釈
返されたタスクは、指定されたタスクのいずれかが完了すると完了します。 返されたタスクは常に RanToCompletion
状態で終了し、結果は完了する最初のタスクに設定されます。 これは、完了する最初のタスクが Canceled
または Faulted
状態で終了した場合でも当てはまります。
適用対象
.NET 9 およびその他のバージョン
製品 | バージョン |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
- ソース:
- 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>>
完了を待機するタスク。
戻り値
指定されたタスクの 1 つの完了を表すタスク。 戻りタスクの結果は、完了したタスクです。
例外
tasks
引数が null
されました。
tasks
配列に null タスクが含まれていたか、空でした。
注釈
返されたタスクは、指定されたタスクのいずれかが完了すると完了します。 返されたタスクは常に RanToCompletion
状態で終了し、その Result
は完了する最初のタスクに設定されます。 これは、完了する最初のタスクが Canceled
または Faulted
状態で終了した場合でも当てはまります。
適用対象
.NET 9 およびその他のバージョン
製品 | バージョン |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
指定されたタスクのいずれかが完了したときに完了するタスクを作成します。
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>>
完了を待機するタスク。
戻り値
指定されたタスクの 1 つの完了を表すタスク。 戻り値のタスクの結果は、完了したタスクです。
例外
tasks
配列に null
タスクが含まれているか、空です。
注釈
返されたタスクは、指定されたタスクのいずれかが完了すると完了します。 返されたタスクは常に RanToCompletion 状態で終了し、結果は完了する最初のタスクに設定されます。 これは、完了する最初のタスクが [キャンセル済み] または [Faulted] 状態で終了した場合でも true
されます。
適用対象
.NET 9
製品 | バージョン |
---|---|
.NET | 9 |
- ソース:
- 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>[]
完了を待機するタスク。
戻り値
指定されたタスクの 1 つの完了を表すタスク。 戻りタスクの結果は、完了したタスクです。
例外
tasks
引数は null でした。
tasks
配列に null タスクが含まれていたか、空でした。
注釈
返されたタスクは、指定されたタスクのいずれかが完了すると完了します。 返されたタスクは常に RanToCompletion
状態で終了し、その Result
は完了する最初のタスクに設定されます。 これは、完了する最初のタスクが Canceled
または Faulted
状態で終了した場合でも当てはまります。
適用対象
.NET 9 およびその他のバージョン
製品 | バージョン |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
- ソース:
- 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>
完了を待機する 2 番目のタスク。
戻り値
指定されたタスクの 1 つの完了を表すタスク。 返されたタスクの TResult
は、最初に完了したタスクです。
例外
task1
または task2
が null
されました。
注釈
返されたタスクは、指定されたタスクのいずれかが完了すると完了します。 返されたタスクは常に RanToCompletion
状態で終了し、その Result
は完了する最初のタスクに設定されます。 結果の値は、完了する最初のタスクが Canceled
または Faulted
状態で終了した場合でも true
されます。
ヒント
このメソッドが最初に完了したタスクを返すときに、オーバーロードされたすべてのバージョンの Task.WhenAny() では、他のタスクは、Canceled
または Faulted
状態で完了した場合でも、完了するまで実行を続行します。 そのため、その動作が望ましくない場合は、最初のタスクが完了したら、残りのタスクをすべて取り消すことができます。
適用対象
.NET 9 およびその他のバージョン
製品 | バージョン |
---|---|
.NET | 5, 6, 7, 8, 9 |
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。