异步/等待在控制台应用程序中不起作用

本文关键字:应用程序 不起作用 控制台 等待 异步 | 更新日期: 2023-09-27 18:35:11

我对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;
    }

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

异步/等待在控制台应用程序中不起作用

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

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