次の方法で共有


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

完了を待機する 2 番目のタスク。

戻り値

指定されたタスクの 1 つの完了を表す新しいタスク。 その Result は、最初に完了したタスクです。

例外

task1 または task2nullされました。

注釈

返されたタスクは、指定されたタスクのいずれかが完了すると完了します。 返されたタスクは常に RanToCompletion 状態で終了し、その Result は完了する最初のタスクに設定されます。 結果の値は、完了する最初のタスクが Canceled または Faulted 状態で終了した場合でも true されます。

適用対象

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[]

完了を待機するタスク。

戻り値

指定されたタスクの 1 つの完了を表すタスク。 戻りタスクの結果は、完了したタスクです。

例外

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>

完了を待機するタスク。

戻り値

指定されたタスクの 1 つの完了を表すタスク。 戻り値のタスクの結果は、完了したタスクです。

例外

tasks 配列に null タスクが含まれているか、空です。

注釈

返されたタスクは、指定されたタスクのいずれかが完了すると完了します。 返されたタスクは常に RanToCompletion 状態で終了し、結果は完了する最初のタスクに設定されます。 これは、完了する最初のタスクが [キャンセル済み] または [Faulted] 状態で終了した場合でも 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>

完了を待機するタスク。

戻り値

指定されたタスクの 1 つの完了を表すタスク。 戻りタスクの結果は、完了したタスクです。

例外

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>>

完了を待機するタスク。

戻り値

Task<Task<TResult>>

指定されたタスクの 1 つの完了を表すタスク。 戻りタスクの結果は、完了したタスクです。

例外

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>>

完了を待機するタスク。

戻り値

Task<Task<TResult>>

指定されたタスクの 1 つの完了を表すタスク。 戻り値のタスクの結果は、完了したタスクです。

例外

tasks 配列に null タスクが含まれているか、空です。

注釈

返されたタスクは、指定されたタスクのいずれかが完了すると完了します。 返されたタスクは常に RanToCompletion 状態で終了し、結果は完了する最初のタスクに設定されます。 これは、完了する最初のタスクが [キャンセル済み] または [Faulted] 状態で終了した場合でも 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>[]

完了を待機するタスク。

戻り値

Task<Task<TResult>>

指定されたタスクの 1 つの完了を表すタスク。 戻りタスクの結果は、完了したタスクです。

例外

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>

完了を待機する 2 番目のタスク。

戻り値

Task<Task<TResult>>

指定されたタスクの 1 つの完了を表すタスク。 返されたタスクの TResult は、最初に完了したタスクです。

例外

task1 または task2nullされました。

注釈

返されたタスクは、指定されたタスクのいずれかが完了すると完了します。 返されたタスクは常に RanToCompletion 状態で終了し、その Result は完了する最初のタスクに設定されます。 結果の値は、完了する最初のタスクが Canceled または Faulted 状態で終了した場合でも true されます。

先端

このメソッドが最初に完了したタスクを返すときに、オーバーロードされたすべてのバージョンの Task.WhenAny() では、他のタスクは、Canceled または Faulted 状態で完了した場合でも、完了するまで実行を続行します。 そのため、その動作が望ましくない場合は、最初のタスクが完了したら、残りのタスクをすべて取り消すことができます。

適用対象