56
我想做一個簡單的程序來測試Visual Studio 2012中新的.NET異步功能。我通常使用BackgroundWorkers異步運行耗時代碼,但有時它似乎是一個相對簡單的(但昂貴的)操作的麻煩。新的異步修改器看起來很好用,但不幸的是我似乎無法得到一個簡單的測試。等待運算符只能用於異步方法
這裏是我的代碼,在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();」的行我會發瘋還是有點可疑?