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 respostas

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

questionAnswers(4)

yourAnswerToTheQuestion