Это мой код:
class Program
{
static void Main(string[] args)
{
update();
}
static async void update()
{
await Task.Delay(100);
Console.WriteLine("X");
update();
}
}
Консоль вообще никогда не выводит текст, и я понятия не имею, почему. Что я делаю не так?
Ваш метод Main
не является async
, поэтому он не ждет вашего метода update
. Кроме того, ваш метод update
должен возвращать Task
, чтобы ваш метод Main
мог ожидать его.
static async Task Main(string[] args)
{
await update();
}
static async Task update()
{
await Task.Delay(100);
Console.WriteLine("X");
await update();
}
@Selvin Спасибо, я обновлю ответ.
Не приведет ли это к переполнению стека?
Отвечает ли это на ваш вопрос? async/await — когда возвращать Task или void?