Partilhar via


Task.WhenAny Método

Definição

Cria uma tarefa que será concluída quando qualquer uma das tarefas fornecidas for concluída.

Sobrecargas

WhenAny(Task, Task)

Cria uma tarefa que será concluída quando qualquer uma das tarefas fornecidas for concluída.

WhenAny(Task[])

Cria uma tarefa que será concluída quando qualquer uma das tarefas fornecidas for concluída.

WhenAny(ReadOnlySpan<Task>)

Cria uma tarefa que será concluída quando qualquer uma das tarefas fornecidas for concluída.

WhenAny(IEnumerable<Task>)

Cria uma tarefa que será concluída quando qualquer uma das tarefas fornecidas for concluída.

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

Cria uma tarefa que será concluída quando qualquer uma das tarefas fornecidas for concluída.

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

Cria uma tarefa que será concluída quando qualquer uma das tarefas fornecidas for concluída.

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

Cria uma tarefa que será concluída quando qualquer uma das tarefas fornecidas for concluída.

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

Cria uma tarefa que será concluída quando qualquer uma das tarefas fornecidas for concluída.

WhenAny(Task, Task)

Origem:
Task.cs
Origem:
Task.cs
Origem:
Task.cs

Cria uma tarefa que será concluída quando qualquer uma das tarefas fornecidas for concluída.

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

A primeira tarefa a aguardar a conclusão.

task2
Task

A segunda tarefa a ser aguardada para conclusão.

Retornos

Uma nova tarefa que representa a conclusão de uma das tarefas fornecidas. Sua Result é a tarefa que foi concluída primeiro.

Exceções

task1 ou task2 foi null.

Comentários

A tarefa retornada será concluída quando qualquer uma das tarefas fornecidas for concluída. A tarefa retornada sempre terminará no estado RanToCompletion com seu Result definido como a primeira tarefa a ser concluída. O valor do resultado é true mesmo se a primeira tarefa a ser concluída terminar no estado Canceled ou Faulted.

Aplica-se a

WhenAny(Task[])

Origem:
Task.cs
Origem:
Task.cs
Origem:
Task.cs

Cria uma tarefa que será concluída quando qualquer uma das tarefas fornecidas for concluída.

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

As tarefas a serem aguardadas para conclusão.

Retornos

Uma tarefa que representa a conclusão de uma das tarefas fornecidas. O resultado da tarefa de retorno é a tarefa que foi concluída.

Exceções

O argumento tasks foi nulo.

A matriz tasks continha uma tarefa nula ou estava vazia.

Comentários

A tarefa retornada será concluída quando qualquer uma das tarefas fornecidas for concluída. A tarefa retornada sempre terminará no estado RanToCompletion com seu Result definido como a primeira tarefa a ser concluída. Isso é verdadeiro mesmo se a primeira tarefa a ser concluída terminar no estado Canceled ou Faulted.

Aplica-se a

WhenAny(ReadOnlySpan<Task>)

Cria uma tarefa que será concluída quando qualquer uma das tarefas fornecidas for concluída.

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>

As tarefas a serem aguardadas para conclusão.

Retornos

Uma tarefa que representa a conclusão de uma das tarefas fornecidas. O resultado da tarefa de retorno é a tarefa que foi concluída.

Exceções

A matriz tasks contém uma tarefa null ou está vazia.

Comentários

A tarefa retornada será concluída quando qualquer uma das tarefas fornecidas for concluída. A tarefa retornada sempre terminará no estado RanToCompletion com seu resultado definido como a primeira tarefa a ser concluída. Isso é true mesmo se a primeira tarefa a ser concluída terminar no estado Cancelado ou Com Falha.

Aplica-se a

WhenAny(IEnumerable<Task>)

Origem:
Task.cs
Origem:
Task.cs
Origem:
Task.cs

Cria uma tarefa que será concluída quando qualquer uma das tarefas fornecidas for concluída.

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>

As tarefas a serem aguardadas para conclusão.

Retornos

Uma tarefa que representa a conclusão de uma das tarefas fornecidas. O resultado da tarefa de retorno é a tarefa que foi concluída.

Exceções

O argumento tasks foi null.

A matriz tasks continha uma tarefa nula ou estava vazia.

Comentários

A tarefa retornada será concluída quando qualquer uma das tarefas fornecidas for concluída. A tarefa retornada sempre terminará no estado RanToCompletion com o resultado definido como a primeira tarefa a ser concluída. Isso é verdadeiro mesmo se a primeira tarefa a ser concluída terminar no estado Canceled ou Faulted.

Aplica-se a

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

Origem:
Task.cs
Origem:
Task.cs
Origem:
Task.cs

Cria uma tarefa que será concluída quando qualquer uma das tarefas fornecidas for concluída.

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

O tipo da tarefa concluída.

Parâmetros

tasks
IEnumerable<Task<TResult>>

As tarefas a serem aguardadas para conclusão.

Retornos

Task<Task<TResult>>

Uma tarefa que representa a conclusão de uma das tarefas fornecidas. O resultado da tarefa de retorno é a tarefa que foi concluída.

Exceções

O argumento tasks foi null.

A matriz tasks continha uma tarefa nula ou estava vazia.

Comentários

A tarefa retornada será concluída quando qualquer uma das tarefas fornecidas for concluída. A tarefa retornada sempre terminará no estado RanToCompletion com seu Result definido como a primeira tarefa a ser concluída. Isso é verdadeiro mesmo se a primeira tarefa a ser concluída terminar no estado Canceled ou Faulted.

Aplica-se a

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

Cria uma tarefa que será concluída quando qualquer uma das tarefas fornecidas for concluída.

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

As tarefas a serem aguardadas para conclusão.

Retornos

Task<Task<TResult>>

Uma tarefa que representa a conclusão de uma das tarefas fornecidas. O resultado da tarefa de retorno é a tarefa que foi concluída.

Exceções

A matriz tasks contém uma tarefa null ou está vazia.

Comentários

A tarefa retornada será concluída quando qualquer uma das tarefas fornecidas for concluída. A tarefa retornada sempre terminará no estado RanToCompletion com seu resultado definido como a primeira tarefa a ser concluída. Isso é true mesmo se a primeira tarefa a ser concluída terminar no estado Cancelado ou Com Falha.

Aplica-se a

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

Origem:
Task.cs
Origem:
Task.cs
Origem:
Task.cs

Cria uma tarefa que será concluída quando qualquer uma das tarefas fornecidas for concluída.

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

O tipo da tarefa concluída.

Parâmetros

tasks
Task<TResult>[]

As tarefas a serem aguardadas para conclusão.

Retornos

Task<Task<TResult>>

Uma tarefa que representa a conclusão de uma das tarefas fornecidas. O resultado da tarefa de retorno é a tarefa que foi concluída.

Exceções

O argumento tasks foi nulo.

A matriz tasks continha uma tarefa nula ou estava vazia.

Comentários

A tarefa retornada será concluída quando qualquer uma das tarefas fornecidas for concluída. A tarefa retornada sempre terminará no estado RanToCompletion com seu Result definido como a primeira tarefa a ser concluída. Isso é verdadeiro mesmo se a primeira tarefa a ser concluída terminar no estado Canceled ou Faulted.

Aplica-se a

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

Origem:
Task.cs
Origem:
Task.cs
Origem:
Task.cs

Cria uma tarefa que será concluída quando qualquer uma das tarefas fornecidas for concluída.

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

O tipo do resultado da tarefa retornada.

Parâmetros

task1
Task<TResult>

A primeira tarefa a aguardar a conclusão.

task2
Task<TResult>

A segunda tarefa a ser aguardada para conclusão.

Retornos

Task<Task<TResult>>

Uma tarefa que representa a conclusão de uma das tarefas fornecidas. O TResult da tarefa retornada é a tarefa que foi concluída primeiro.

Exceções

task1 ou task2 foi null.

Comentários

A tarefa retornada será concluída quando qualquer uma das tarefas fornecidas for concluída. A tarefa retornada sempre terminará no estado RanToCompletion com seu Result definido como a primeira tarefa a ser concluída. O valor do resultado é true mesmo se a primeira tarefa a ser concluída terminar no estado Canceled ou Faulted.

Ponta

Em todas as versões sobrecarregadas de Task.WhenAny() quando esse método retorna a primeira tarefa concluída, as outras tarefas continuarão em execução até a conclusão, mesmo qualquer uma delas concluída no estado Canceled ou Faulted. Portanto, se esse comportamento não for desejado, talvez você queira cancelar todas as tarefas restantes após a conclusão da primeira tarefa.

Aplica-se a