Teilen über


Task.WhenAny Methode

Definition

Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der bereitgestellten Aufgaben abgeschlossen ist.

Überlädt

WhenAny(Task, Task)

Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der angegebenen Vorgänge abgeschlossen ist.

WhenAny(Task[])

Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der bereitgestellten Aufgaben abgeschlossen ist.

WhenAny(ReadOnlySpan<Task>)

Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der bereitgestellten Aufgaben abgeschlossen ist.

WhenAny(IEnumerable<Task>)

Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der bereitgestellten Aufgaben abgeschlossen ist.

WhenAny<TResult>(IEnumerable<Task<TResult>>)

Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der bereitgestellten Aufgaben abgeschlossen ist.

WhenAny<TResult>(ReadOnlySpan<Task<TResult>>)

Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der bereitgestellten Aufgaben abgeschlossen ist.

WhenAny<TResult>(Task<TResult>[])

Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der bereitgestellten Aufgaben abgeschlossen ist.

WhenAny<TResult>(Task<TResult>, Task<TResult>)

Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der angegebenen Vorgänge abgeschlossen ist.

WhenAny(Task, Task)

Quelle:
Task.cs
Quelle:
Task.cs
Quelle:
Task.cs

Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der angegebenen Vorgänge abgeschlossen ist.

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)

Parameter

task1
Task

Die erste Aufgabe, die auf den Abschluss wartet.

task2
Task

Der zweite Vorgang, der auf den Abschluss wartet.

Gibt zurück

Ein neuer Vorgang, der den Abschluss eines der bereitgestellten Vorgänge darstellt. Die Result ist die Aufgabe, die zuerst abgeschlossen wurde.

Ausnahmen

task1 oder task2 wurde null.

Hinweise

Der zurückgegebene Vorgang wird abgeschlossen, wenn eine der angegebenen Vorgänge abgeschlossen wurde. Der zurückgegebene Vorgang endet immer im RanToCompletion Zustand, wobei dessen Result auf den ersten auszuführenden Vorgang festgelegt ist. Der Ergebniswert wird auch dann true, wenn die erste aufgabe, die abgeschlossen werden soll, im zustand Canceled oder Faulted beendet wurde.

Gilt für:

WhenAny(Task[])

Quelle:
Task.cs
Quelle:
Task.cs
Quelle:
Task.cs

Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der bereitgestellten Aufgaben abgeschlossen ist.

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)

Parameter

tasks
Task[]

Die Aufgaben, die auf den Abschluss warten sollen.

Gibt zurück

Ein Vorgang, der den Abschluss eines der bereitgestellten Vorgänge darstellt. Das Ergebnis des Rückgabevorgangs ist die Aufgabe, die abgeschlossen wurde.

Ausnahmen

Das argument tasks war null.

Das tasks Array enthielt eine NULL-Aufgabe oder war leer.

Hinweise

Der zurückgegebene Vorgang wird abgeschlossen, wenn eine der angegebenen Vorgänge abgeschlossen wurde. Der zurückgegebene Vorgang endet immer im RanToCompletion Zustand, wobei dessen Result auf den ersten auszuführenden Vorgang festgelegt ist. Dies gilt auch dann, wenn die erste aufgabe, die abgeschlossen werden soll, im Canceled- oder Faulted-Zustand beendet wurde.

Gilt für:

WhenAny(ReadOnlySpan<Task>)

Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der bereitgestellten Aufgaben abgeschlossen ist.

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)

Parameter

tasks
ReadOnlySpan<Task>

Die Aufgaben, die auf den Abschluss warten sollen.

Gibt zurück

Ein Vorgang, der den Abschluss eines der bereitgestellten Vorgänge darstellt. Das Ergebnis des Rückgabevorgangs ist die Aufgabe, die abgeschlossen wurde.

Ausnahmen

Das tasks-Array enthält eine null Aufgabe oder ist leer.

Hinweise

Der zurückgegebene Vorgang wird abgeschlossen, wenn eine der angegebenen Vorgänge abgeschlossen wurde. Der zurückgegebene Vorgang endet immer im Zustand "RanToCompletion" mit dem Resultset auf die erste aufgabe, die abgeschlossen werden soll. Dies ist true, auch wenn die erste aufgabe, die abgeschlossen werden soll, im Zustand "Abgebrochen" oder "Fehlerhaft" beendet wurde.

Gilt für:

WhenAny(IEnumerable<Task>)

Quelle:
Task.cs
Quelle:
Task.cs
Quelle:
Task.cs

Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der bereitgestellten Aufgaben abgeschlossen ist.

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)

Parameter

tasks
IEnumerable<Task>

Die Aufgaben, die auf den Abschluss warten sollen.

Gibt zurück

Ein Vorgang, der den Abschluss eines der bereitgestellten Vorgänge darstellt. Das Ergebnis des Rückgabevorgangs ist die Aufgabe, die abgeschlossen wurde.

Ausnahmen

Das argument tasks war null.

Das tasks Array enthielt eine NULL-Aufgabe oder war leer.

Hinweise

Der zurückgegebene Vorgang wird abgeschlossen, wenn eine der angegebenen Vorgänge abgeschlossen wurde. Der zurückgegebene Vorgang endet immer im zustand RanToCompletion mit dem Resultset auf den ersten auszuführenden Vorgang. Dies gilt auch dann, wenn die erste aufgabe, die abgeschlossen werden soll, im Canceled- oder Faulted-Zustand beendet wurde.

Gilt für:

WhenAny<TResult>(IEnumerable<Task<TResult>>)

Quelle:
Task.cs
Quelle:
Task.cs
Quelle:
Task.cs

Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der bereitgestellten Aufgaben abgeschlossen ist.

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

Typparameter

TResult

Der Typ der abgeschlossenen Aufgabe.

Parameter

tasks
IEnumerable<Task<TResult>>

Die Aufgaben, die auf den Abschluss warten sollen.

Gibt zurück

Task<Task<TResult>>

Ein Vorgang, der den Abschluss eines der bereitgestellten Vorgänge darstellt. Das Ergebnis des Rückgabevorgangs ist die Aufgabe, die abgeschlossen wurde.

Ausnahmen

Das argument tasks war null.

Das tasks Array enthielt eine NULL-Aufgabe oder war leer.

Hinweise

Der zurückgegebene Vorgang wird abgeschlossen, wenn eine der angegebenen Vorgänge abgeschlossen wurde. Der zurückgegebene Vorgang endet immer im RanToCompletion Zustand, wobei dessen Result auf den ersten auszuführenden Vorgang festgelegt ist. Dies gilt auch dann, wenn die erste aufgabe, die abgeschlossen werden soll, im Canceled- oder Faulted-Zustand beendet wurde.

Gilt für:

WhenAny<TResult>(ReadOnlySpan<Task<TResult>>)

Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der bereitgestellten Aufgaben abgeschlossen ist.

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

Typparameter

TResult

Parameter

tasks
ReadOnlySpan<Task<TResult>>

Die Aufgaben, die auf den Abschluss warten sollen.

Gibt zurück

Task<Task<TResult>>

Ein Vorgang, der den Abschluss eines der bereitgestellten Vorgänge darstellt. Das Ergebnis des Rückgabevorgangs ist die Aufgabe, die abgeschlossen wurde.

Ausnahmen

Das tasks-Array enthält eine null Aufgabe oder ist leer.

Hinweise

Der zurückgegebene Vorgang wird abgeschlossen, wenn eine der angegebenen Vorgänge abgeschlossen wurde. Der zurückgegebene Vorgang endet immer im Zustand "RanToCompletion" mit dem Resultset auf die erste aufgabe, die abgeschlossen werden soll. Dies ist true, auch wenn die erste aufgabe, die abgeschlossen werden soll, im Zustand "Abgebrochen" oder "Fehlerhaft" beendet wurde.

Gilt für:

WhenAny<TResult>(Task<TResult>[])

Quelle:
Task.cs
Quelle:
Task.cs
Quelle:
Task.cs

Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der bereitgestellten Aufgaben abgeschlossen ist.

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

Typparameter

TResult

Der Typ der abgeschlossenen Aufgabe.

Parameter

tasks
Task<TResult>[]

Die Aufgaben, die auf den Abschluss warten sollen.

Gibt zurück

Task<Task<TResult>>

Ein Vorgang, der den Abschluss eines der bereitgestellten Vorgänge darstellt. Das Ergebnis des Rückgabevorgangs ist die Aufgabe, die abgeschlossen wurde.

Ausnahmen

Das argument tasks war null.

Das tasks Array enthielt eine NULL-Aufgabe oder war leer.

Hinweise

Der zurückgegebene Vorgang wird abgeschlossen, wenn eine der angegebenen Vorgänge abgeschlossen wurde. Der zurückgegebene Vorgang endet immer im RanToCompletion Zustand, wobei dessen Result auf den ersten auszuführenden Vorgang festgelegt ist. Dies gilt auch dann, wenn die erste aufgabe, die abgeschlossen werden soll, im Canceled- oder Faulted-Zustand beendet wurde.

Gilt für:

WhenAny<TResult>(Task<TResult>, Task<TResult>)

Quelle:
Task.cs
Quelle:
Task.cs
Quelle:
Task.cs

Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der angegebenen Vorgänge abgeschlossen ist.

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

Typparameter

TResult

Der Typ des Ergebnisses des zurückgegebenen Vorgangs.

Parameter

task1
Task<TResult>

Die erste Aufgabe, die auf den Abschluss wartet.

task2
Task<TResult>

Der zweite Vorgang, der auf den Abschluss wartet.

Gibt zurück

Task<Task<TResult>>

Ein Vorgang, der den Abschluss eines der bereitgestellten Vorgänge darstellt. Die TResult des zurückgegebenen Vorgangs ist die Aufgabe, die zuerst abgeschlossen wurde.

Ausnahmen

task1 oder task2 wurde null.

Hinweise

Der zurückgegebene Vorgang wird abgeschlossen, wenn eine der angegebenen Vorgänge abgeschlossen wurde. Der zurückgegebene Vorgang endet immer im RanToCompletion Zustand, wobei dessen Result auf den ersten auszuführenden Vorgang festgelegt ist. Der Ergebniswert wird auch dann true, wenn die erste aufgabe, die abgeschlossen werden soll, im zustand Canceled oder Faulted beendet wurde.

Trinkgeld

In jeder überladenen Version von Task.WhenAny() wenn diese Methode die erste abgeschlossene Aufgabe zurückgibt, werden die anderen Aufgaben bis zum Abschluss weiterhin ausgeführt, auch wenn eine der Vorgänge im zustand Canceled oder Faulted abgeschlossen wurde. Wenn dieses Verhalten also nicht gewünscht ist, sollten Sie alle verbleibenden Vorgänge nach Abschluss der ersten Aufgabe abbrechen.

Gilt für: