我正在尝试制作一个简单的程序来测试 Visual Studio 2012 中的新 .NET 异步功能。我通常使用 BackgroundWorkers 异步运行耗时的代码,但有时对于相对简单(但昂贵)的操作来说似乎很麻烦. 新的 async 修饰符看起来很好用,但不幸的是我似乎无法进行简单的测试。
这是我在 C# 控制台应用程序中的代码:
static void Main(string[] args)
{
string MarsResponse = await QueryRover();
Console.WriteLine("Waiting for response from Mars...");
Console.WriteLine(MarsResponse);
Console.Read();
}
public static async Task<string> QueryRover()
{
await Task.Delay(5000);
return "Doin' good!";
}
我在 MSDN 上查看了一些示例,在我看来,这段代码应该可以工作,但是我在包含“await QueryRover();”的行上出现了构建错误。我是疯了还是发生了什么可疑的事情?