我是C#的新手,我想在代码中尝试Task.Delay()
,但我遇到了一些错误。
这是我的代码:
static public void Main(string[] args)
{
Delay();
}
static async Task Delay()
{
for (int i = 0; i < 5; i++)
{
Console.WriteLine(i);
await Task.Delay(1000);
}
}
这是我得到的错误:
在调用完成之前,不等待该语句,并继续执行当前方法。考虑使用"等待"运算符或调用"等待"方法
它不会每秒打印每个数字,也许我做得不对?
编译器警告您正在调用一个async
方法,但您现在正在使用await
,因此要对返回的Task
执行任何操作。
使您的Main
方法async
和await
调用Delay
:
static public async Task Main(string[] args)
{
await Delay();
}
static async Task Delay()
{
for (int i = 0; i < 5; i++)
{
Console.WriteLine(i);
await Task.Delay(1000);
}
}