Task.WhenAny Método

Definición

Crea una tarea que se completará cuando se haya completado cualquiera de las tareas proporcionadas.

Sobrecargas

WhenAny(IEnumerable<Task>)

Crea una tarea que se completará cuando se haya completado cualquiera de las tareas proporcionadas.

WhenAny(Task[])

Crea una tarea que se completará cuando se haya completado cualquiera de las tareas proporcionadas.

WhenAny(Task, Task)

Crea una tarea que se finalizará cuando se haya completado cualquiera de las tareas proporcionadas.

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

Crea una tarea que se completará cuando se haya completado cualquiera de las tareas proporcionadas.

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

Crea una tarea que se completará cuando se haya completado cualquiera de las tareas proporcionadas.

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

Crea una tarea que se finalizará cuando se haya completado cualquiera de las tareas proporcionadas.

WhenAny(IEnumerable<Task>)

Crea una tarea que se completará cuando se haya completado cualquiera de las tareas proporcionadas.

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)

Parámetros

tasks
IEnumerable<Task>

Tareas cuya finalización hay que esperar.

Devoluciones

Tarea que representa la finalización de una de las tareas proporcionadas. El resultado de la tarea devuelto es la tarea completada.

Excepciones

El argumento tasks era null.

La matriz tasks contenía una tarea NULL o estaba vacía.

Comentarios

La tarea devuelta se completará cuando se haya completado cualquiera de las tareas proporcionadas. La tarea devuelta siempre finalizará en el RanToCompletion estado con su conjunto de resultados en la primera tarea que se completará. Esto es cierto incluso si la primera tarea que se va a completar finalizó en el Canceled estado o Faulted .

Se aplica a

WhenAny(Task[])

Crea una tarea que se completará cuando se haya completado cualquiera de las tareas proporcionadas.

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)

Parámetros

tasks
Task[]

Tareas cuya finalización hay que esperar.

Devoluciones

Tarea que representa la finalización de una de las tareas proporcionadas. El resultado de la tarea devuelto es la tarea completada.

Excepciones

El argumento de tasks fue nulo.

La matriz tasks contenía una tarea NULL o estaba vacía.

Comentarios

La tarea devuelta se completará cuando se haya completado cualquiera de las tareas proporcionadas. La tarea devuelta siempre finalizará en el RanToCompletion estado con su Result establecido en la primera tarea que se completará. Esto es cierto incluso si la primera tarea que se va a completar finalizó en el Canceled estado o Faulted .

Se aplica a

WhenAny(Task, Task)

Crea una tarea que se finalizará cuando se haya completado cualquiera de las tareas proporcionadas.

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)

Parámetros

task1
Task

Primera tarea cuya finalización hay que esperar.

task2
Task

Segunda tarea cuya finalización hay que esperar.

Devoluciones

Nueva tarea que representa la finalización de una de las tareas proporcionadas. Su Result es la tarea que se ha completado en primer lugar.

Excepciones

task1 o task2 era null.

Comentarios

La tarea devuelta se completará cuando se haya completado cualquiera de las tareas proporcionadas. La tarea devuelta siempre finalizará en el RanToCompletion estado con su Result establecido en la primera tarea que se completará. El valor del resultado es true incluso si la primera tarea que se va a completar finalizó en el Canceled estado o Faulted .

Se aplica a

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

Crea una tarea que se completará cuando se haya completado cualquiera de las tareas proporcionadas.

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

Parámetros de tipo

TResult

Tipo de la tarea completada.

Parámetros

tasks
IEnumerable<Task<TResult>>

Tareas cuya finalización hay que esperar.

Devoluciones

Task<Task<TResult>>

Tarea que representa la finalización de una de las tareas proporcionadas. El resultado de la tarea devuelto es la tarea completada.

Excepciones

El argumento tasks era null.

La matriz tasks contenía una tarea NULL o estaba vacía.

Comentarios

La tarea devuelta se completará cuando se haya completado cualquiera de las tareas proporcionadas. La tarea devuelta siempre finalizará en el RanToCompletion estado con su Result establecido en la primera tarea que se completará. Esto es cierto incluso si la primera tarea que se va a completar finalizó en el Canceled estado o Faulted .

Se aplica a

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

Crea una tarea que se completará cuando se haya completado cualquiera de las tareas proporcionadas.

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

Parámetros de tipo

TResult

Tipo de la tarea completada.

Parámetros

tasks
Task<TResult>[]

Tareas cuya finalización hay que esperar.

Devoluciones

Task<Task<TResult>>

Tarea que representa la finalización de una de las tareas proporcionadas. El resultado de la tarea devuelto es la tarea completada.

Excepciones

El argumento de tasks fue nulo.

La matriz tasks contenía una tarea NULL o estaba vacía.

Comentarios

La tarea devuelta se completará cuando se haya completado cualquiera de las tareas proporcionadas. La tarea devuelta siempre finalizará en el RanToCompletion estado con su Result establecido en la primera tarea que se completará. Esto es cierto incluso si la primera tarea que se va a completar finalizó en el Canceled estado o Faulted .

Se aplica a

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

Crea una tarea que se finalizará cuando se haya completado cualquiera de las tareas proporcionadas.

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

Parámetros de tipo

TResult

Tipo del resultado de la tarea devuelta.

Parámetros

task1
Task<TResult>

Primera tarea cuya finalización hay que esperar.

task2
Task<TResult>

Segunda tarea cuya finalización hay que esperar.

Devoluciones

Task<Task<TResult>>

Tarea que representa la finalización de una de las tareas proporcionadas. El objeto TResult de la tarea devuelta es la tarea que se ha completado primero.

Excepciones

task1 o task2 era null.

Comentarios

La tarea devuelta se completará cuando se haya completado cualquiera de las tareas proporcionadas. La tarea devuelta siempre finalizará en el RanToCompletion estado con su Result establecido en la primera tarea que se completará. El valor del resultado es true incluso si la primera tarea que se va a completar finalizó en el Canceled estado o Faulted .

Sugerencia

En cada versión sobrecargada de Task.WhenAny() cuando este método devuelve la primera tarea completada, las demás tareas seguirán ejecutándose hasta que finalicen, incluso cualquiera de ellas completadas en el Canceled estado o Faulted . Por lo tanto, si no se desea ese comportamiento, es posible que desee cancelar todas las tareas restantes una vez completada la primera tarea.

Se aplica a