async / await在控制台应用程序中不起作用

时间:2014-12-22 19:32:37

标签: c# task-parallel-library async-await

我对TPL非常环保,并希望在控制台应用程序中执行异步方法。

我的代码:

    static void Main()
    {
        Task<string> t = MainAsync();
        t.Wait();
        Console.ReadLine();
    }

    static async Task<string> MainAsync()
    {
        var result = await (new Task<string>(() => { return "Test"; }));
        return result;

    }

此任务永远运行。为什么?我错过了什么?

1 个答案:

答案 0 :(得分:8)

你没有开始你的任务。这就是Wait不返回的原因。尝试

var result = await Task.Run<string>(() => { return "Test"; });