Async в консольном приложении в C #? [Дубликат]
На этот вопрос уже есть ответ здесь:
Можно'не могу указатьасинхронный» модификатор на 'Главный' метод консольного приложения 15 ответовУ меня есть этот простой код:
public static async Task SumTwoOperationsAsync()
{
var firstTask = GetOperationOneAsync();
var secondTask = GetOperationTwoAsync();
return await firstTask + await secondTask;
}
private async Task GetOperationOneAsync()
{
await Task.Delay(500); // Just to simulate an operation taking time
return 10;
}
private async Task GetOperationTwoAsync()
{
await Task.Delay(100); // Just to simulate an operation taking time
return 5;
}
Отлично. это компилируется.
Но допустим, у меня есть консольное приложение, и я хочу запустить приведенный выше код (вызов)SumTwoOperationsAsync()
static void Main(string[] args)
{
SumTwoOperationsAsync();
}
Но я'прочитал это (при использованииsync
) Я должен синхронизировать все путивверх а такжевниз :
Вопрос : Значит ли это, что мойMain
функция должна быть помечена как?async
Ну этоне может быть, потому что есть ошибка компиляции:
точка входа не может быть помеченаасинхронный» модификатор
Если я понимаю асинхронный материал, поток будет входить вMain
функция ----> SumTwoOperationsAsync
---->вызовет обе функции и будет отсутствовать. но покаSumTwoOperationsAsync
Что мне не хватает?