Compartir a través de


Task.WhenAny Método

Definición

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

Sobrecargas

WhenAny(Task, Task)

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

WhenAny(Task[])

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

WhenAny(ReadOnlySpan<Task>)

Crea una tarea que se completará 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.

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

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

WhenAny<TResult>(ReadOnlySpan<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 completará cuando se haya completado alguna de las tareas proporcionadas.

WhenAny(Task, Task)

Source:
Task.cs
Source:
Task.cs
Source:
Task.cs

Crea una tarea que se completará cuando se haya completado alguna 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 que se va a esperar a que finalice.

task2
Task

Segunda tarea que se va a esperar a que finalice.

Devoluciones

Nueva tarea que representa la finalización de una de las tareas proporcionadas. Su Result es la tarea que se completó primero.

Excepciones

task1 o task2 se null.

Comentarios

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

Se aplica a

WhenAny(Task[])

Source:
Task.cs
Source:
Task.cs
Source:
Task.cs

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

Las tareas que se van a esperar para completarse.

Devoluciones

Tarea que representa la finalización de una de las tareas proporcionadas. El resultado de la tarea de devolución es la tarea que se completó.

Excepciones

El argumento tasks era NULL.

La matriz tasks contenía una tarea nula 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 estado RanToCompletion con su Result establecida en la primera tarea que se va a completar. Esto es cierto incluso si la primera tarea que se va a completar finalizó en el estado Canceled o Faulted.

Se aplica a

WhenAny(ReadOnlySpan<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(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)

Parámetros

tasks
ReadOnlySpan<Task>

Las tareas que se van a esperar para completarse.

Devoluciones

Tarea que representa la finalización de una de las tareas proporcionadas. El resultado de la tarea de devolución es la tarea que se completó.

Excepciones

La matriz tasks contiene una tarea null o está vacía.

Comentarios

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

Se aplica a

WhenAny(IEnumerable<Task>)

Source:
Task.cs
Source:
Task.cs
Source:
Task.cs

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>

Las tareas que se van a esperar para completarse.

Devoluciones

Tarea que representa la finalización de una de las tareas proporcionadas. El resultado de la tarea de devolución es la tarea que se completó.

Excepciones

El argumento tasks se null.

La matriz tasks contenía una tarea nula 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 estado RanToCompletion con su conjunto de resultados en la primera tarea que se va a completar. Esto es cierto incluso si la primera tarea que se va a completar finalizó en el estado Canceled o Faulted.

Se aplica a

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

Source:
Task.cs
Source:
Task.cs
Source:
Task.cs

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

Las tareas que se van a esperar para completarse.

Devoluciones

Task<Task<TResult>>

Tarea que representa la finalización de una de las tareas proporcionadas. El resultado de la tarea de devolución es la tarea que se completó.

Excepciones

El argumento tasks se null.

La matriz tasks contenía una tarea nula 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 estado RanToCompletion con su Result establecida en la primera tarea que se va a completar. Esto es cierto incluso si la primera tarea que se va a completar finalizó en el estado Canceled o Faulted.

Se aplica a

WhenAny<TResult>(ReadOnlySpan<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(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))

Parámetros de tipo

TResult

Parámetros

tasks
ReadOnlySpan<Task<TResult>>

Las tareas que se van a esperar para completarse.

Devoluciones

Task<Task<TResult>>

Tarea que representa la finalización de una de las tareas proporcionadas. El resultado de la tarea de devolución es la tarea que se completó.

Excepciones

La matriz tasks contiene una tarea null o está vacía.

Comentarios

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

Se aplica a

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

Source:
Task.cs
Source:
Task.cs
Source:
Task.cs

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

Las tareas que se van a esperar para completarse.

Devoluciones

Task<Task<TResult>>

Tarea que representa la finalización de una de las tareas proporcionadas. El resultado de la tarea de devolución es la tarea que se completó.

Excepciones

El argumento tasks era NULL.

La matriz tasks contenía una tarea nula 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 estado RanToCompletion con su Result establecida en la primera tarea que se va a completar. Esto es cierto incluso si la primera tarea que se va a completar finalizó en el estado Canceled o Faulted.

Se aplica a

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

Source:
Task.cs
Source:
Task.cs
Source:
Task.cs

Crea una tarea que se completará cuando se haya completado alguna 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 que se va a esperar a que finalice.

task2
Task<TResult>

Segunda tarea que se va a esperar a que finalice.

Devoluciones

Task<Task<TResult>>

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

Excepciones

task1 o task2 se null.

Comentarios

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

Propina

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 la finalización, incluso cualquiera de ellas completadas en el estado Canceled 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