async an der Konsole App in C #? [Duplikat]

Diese Frage hat hier bereits eine Antwort:

Der Modifizierer 'async' kann in der 'Main'-Methode einer Konsolen-App nicht angegeben werden 15 Antworten

Ich habe diesen einfachen Code:

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

Großartig. dies kompiliert.

Aber sagen wir, ich habe eine Konsolen-App und möchte den obigen Code ausführen (aufrufend)SumTwoOperationsAsync())

 static  void Main(string[] args)
        {
             SumTwoOperationsAsync();
        }

Aber ich habe das gelesen (bei der Verwendung vonsync) Ich muss den ganzen Weg synchronisierenoben undNieder :

Frage : Also heißt das, dass meineMain Funktion sollte markiert sein alsasync ?

Nun eskippen Das liegt daran, dass ein Kompilierungsfehler vorliegt:

Ein Einstiegspunkt kann nicht mit dem Modifikator 'async' markiert werden

Wenn ich das asynchrone Zeug verstehe, wird der Thread das eingebenMain Funktion ---->SumTwoOperationsAsync ----> ruft beide Funktionen auf und ist aus. aber bis zumSumTwoOperationsAsync

Was vermisse ich ?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage