Task.WhenAny Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der angegebenen Aufgaben abgeschlossen ist.
Überlädt
WhenAny(IEnumerable<Task>) |
Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der angegebenen Aufgaben abgeschlossen ist. |
WhenAny(Task[]) |
Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der angegebenen Aufgaben abgeschlossen ist. |
WhenAny(Task, Task) |
Erstellt einen Task, der abgeschlossen wird, wenn einer der angegebenen Tasks abgeschlossen ist. |
WhenAny<TResult>(IEnumerable<Task<TResult>>) |
Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der angegebenen Aufgaben abgeschlossen ist. |
WhenAny<TResult>(Task<TResult>[]) |
Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der angegebenen Aufgaben abgeschlossen ist. |
WhenAny<TResult>(Task<TResult>, Task<TResult>) |
Erstellt einen Task, der abgeschlossen wird, wenn einer der angegebenen Tasks abgeschlossen ist. |
WhenAny(IEnumerable<Task>)
Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der angegebenen 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, auf deren Abschluss gewartet werden soll.
Gibt zurück
Eine Aufgabe, die den Abschluss einer der angegebenen Aufgaben darstellt. Das zurückgegebene Ergebnis der Aufgabe ist die Aufgabe, die abgeschlossen wurde.
Ausnahmen
Das tasks
-Argument lautete null
.
Das Array tasks
enthielt eine NULL-Aufgabe oder war leer.
Hinweise
Die zurückgegebene Aufgabe wird abgeschlossen, wenn eine der angegebenen Aufgaben abgeschlossen ist. Die zurückgegebene Aufgabe endet immer im Zustand mit dem RanToCompletion
Ergebnis, das auf die erste aufgabe festgelegt ist, die abgeschlossen werden soll. Dies gilt auch dann, wenn die erste Aufgabe, die abgeschlossen werden soll, im Canceled
Zustand oder Faulted
beendet wurde.
Gilt für:
WhenAny(Task[])
Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der angegebenen 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, auf deren Abschluss gewartet werden soll.
Gibt zurück
Eine Aufgabe, die den Abschluss einer der angegebenen Aufgaben darstellt. Das zurückgegebene Ergebnis der Aufgabe ist die Aufgabe, die abgeschlossen wurde.
Ausnahmen
Das tasks
-Argument war null.
Das Array tasks
enthielt eine NULL-Aufgabe oder war leer.
Hinweise
Die zurückgegebene Aufgabe wird abgeschlossen, wenn eine der angegebenen Aufgaben abgeschlossen ist. Der zurückgegebene Vorgang endet immer im RanToCompletion
Zustand, wobei er Result
auf die erste aufgabe festgelegt ist, die abgeschlossen werden soll. Dies gilt auch dann, wenn die erste Aufgabe, die abgeschlossen werden soll, im Canceled
Zustand oder Faulted
beendet wurde.
Gilt für:
WhenAny(Task, Task)
Erstellt einen Task, der abgeschlossen wird, wenn einer der angegebenen Tasks 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
Der erste Task, der auf seinen Abschluss wartet.
- task2
- Task
Der zweite Task, der auf seinen Abschluss wartet.
Gibt zurück
Ein neuer Task, der den Abschluss eines der angegebenen Tasks darstellt. Dessen Result
ist der Task, der zuerst abgeschlossen wurde.
Ausnahmen
task1
oder task2
entsprach null
.
Hinweise
Die zurückgegebene Aufgabe wird abgeschlossen, wenn eine der angegebenen Aufgaben abgeschlossen ist. Der zurückgegebene Vorgang endet immer im RanToCompletion
Zustand, wobei er Result
auf die erste aufgabe festgelegt ist, die abgeschlossen werden soll. Der Ergebniswert ist true
auch dann, wenn die erste Aufgabe, die abgeschlossen werden soll, im Canceled
Zustand oder Faulted
beendet wurde.
Gilt für:
WhenAny<TResult>(IEnumerable<Task<TResult>>)
Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der angegebenen 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, auf deren Abschluss gewartet werden soll.
Gibt zurück
Eine Aufgabe, die den Abschluss einer der angegebenen Aufgaben darstellt. Das zurückgegebene Ergebnis der Aufgabe ist die Aufgabe, die abgeschlossen wurde.
Ausnahmen
Das tasks
-Argument lautete null
.
Das Array tasks
enthielt eine NULL-Aufgabe oder war leer.
Hinweise
Die zurückgegebene Aufgabe wird abgeschlossen, wenn eine der angegebenen Aufgaben abgeschlossen ist. Der zurückgegebene Vorgang endet immer im RanToCompletion
Zustand, wobei er Result
auf die erste aufgabe festgelegt ist, die abgeschlossen werden soll. Dies gilt auch dann, wenn die erste Aufgabe, die abgeschlossen werden soll, im Canceled
Zustand oder Faulted
beendet wurde.
Gilt für:
WhenAny<TResult>(Task<TResult>[])
Erstellt eine Aufgabe, die abgeschlossen wird, wenn eine der angegebenen 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, auf deren Abschluss gewartet werden soll.
Gibt zurück
Eine Aufgabe, die den Abschluss einer der angegebenen Aufgaben darstellt. Das zurückgegebene Ergebnis der Aufgabe ist die Aufgabe, die abgeschlossen wurde.
Ausnahmen
Das tasks
-Argument war null.
Das Array tasks
enthielt eine NULL-Aufgabe oder war leer.
Hinweise
Die zurückgegebene Aufgabe wird abgeschlossen, wenn eine der angegebenen Aufgaben abgeschlossen ist. Der zurückgegebene Vorgang endet immer im RanToCompletion
Zustand, wobei er Result
auf die erste aufgabe festgelegt ist, die abgeschlossen werden soll. Dies gilt auch dann, wenn die erste Aufgabe, die abgeschlossen werden soll, im Canceled
Zustand oder Faulted
beendet wurde.
Gilt für:
WhenAny<TResult>(Task<TResult>, Task<TResult>)
Erstellt einen Task, der abgeschlossen wird, wenn einer der angegebenen Tasks 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 der zurückgegebenen Aufgabe.
Parameter
- task1
- Task<TResult>
Der erste Task, der auf seinen Abschluss wartet.
- task2
- Task<TResult>
Der zweite Task, der auf seinen Abschluss wartet.
Gibt zurück
Eine Aufgabe, die den Abschluss einer der angegebenen Aufgaben darstellt. Das zurückgegebene TResult
der Aufgabe ist die Aufgabe, die zuerst abgeschlossen wurde.
Ausnahmen
task1
oder task2
entsprach null
.
Hinweise
Die zurückgegebene Aufgabe wird abgeschlossen, wenn eine der angegebenen Aufgaben abgeschlossen ist. Der zurückgegebene Vorgang endet immer im RanToCompletion
Zustand, wobei er Result
auf die erste aufgabe festgelegt ist, die abgeschlossen werden soll. Der Ergebniswert ist true
auch dann, wenn die erste Aufgabe, die abgeschlossen werden soll, im Canceled
Zustand oder Faulted
beendet wurde.
Tipp
In jeder überladenen Version von Task.WhenAny(), wenn diese Methode den ersten abgeschlossenen Task zurückgibt, werden die anderen Aufgaben bis zum Abschluss weiter ausgeführt, auch wenn sie im Canceled
Zustand oder Faulted
abgeschlossen sind. Wenn dieses Verhalten also nicht gewünscht ist, sollten Sie alle verbleibenden Aufgaben abbrechen, sobald die erste Aufgabe abgeschlossen ist.