ExpertiDict

C# · Intermediário · Inglês · Técnico

Task

/tæsk/substantivo

Tipo que representa uma operação assíncrona em andamento ou concluída, podendo carregar um resultado (Task<T>), uma falha ou o cancelamento. É o retorno padrão de métodos async.

Onde usar

Aparece em assinaturas como Task<Cliente> BuscarAsync(). Importa saber que a Task guarda a exceção: ela só estoura quando alguém faz await ou lê Result.

Em código

Task<int> t = Task.Run(() => 6 * 7);
Console.WriteLine("calculando...");
int r = await t;
Console.WriteLine(r); // 42

Exemplos

The method returns a Task, so you can await it.

O método retorna uma Task, então dá para dar await.

The exception only shows up when you await the Task.

A exceção só aparece quando você dá await na Task.

Cuidado

Não confunda Task com Thread: uma Task é uma promessa de resultado, que pode nem usar thread enquanto espera I/O.

Origem

Do inglês task, 'tarefa'.

Veja também

Todos os termos de C#