assíncrono no aplicativo de console em c #? [duplicado]
Esta questão já tem uma resposta aqui:
Não é possível especificar o modificador 'async' no método 'Principal' de um aplicativo de console 15 respostasEu tenho esse código simples:
public static async Task<int> SumTwoOperationsAsync()
{
var firstTask = GetOperationOneAsync();
var secondTask = GetOperationTwoAsync();
return await firstTask + await secondTask;
}
private async Task<int> GetOperationOneAsync()
{
await Task.Delay(500); // Just to simulate an operation taking time
return 10;
}
private async Task<int> GetOperationTwoAsync()
{
await Task.Delay(100); // Just to simulate an operation taking time
return 5;
}
Ótimo. isso compila.
Mas vamos dizer que eu tenho um aplicativo de console e eu quero executar o código acima (chamandoSumTwoOperationsAsync()
)
static void Main(string[] args)
{
SumTwoOperationsAsync();
}
Mas eu li isso (quando usandosync
) Eu tenho que sincronizar todo o caminhoacima ebaixa :
Questão : Então isso significa que meuMain
função deve ser marcada comoasync
?
Bemnão pode porque existe um erro de compilação:
um ponto de entrada não pode ser marcado com o modificador 'assíncrono'
Se eu entendi o material assíncrono, o segmento vai entrar noMain
função ---->SumTwoOperationsAsync
----> chamará ambas as funções e estará fora. mas até oSumTwoOperationsAsync
O que estou perdendo ?