如何在新的 .NET 6.0 中将 Main 方法更改为异步

Gla*_*ung 9 c# asynchronous console-application main-method .net-6.0

我想将Main方法​​更改为async,但我不知道如何编辑此方法,因为它在 .NET 6.0 中是“不可见的”。我希望它看起来像这样:static async Task Main(string[] args)。那么我该如何编辑它呢?

Jon*_*eet 24

如果您想坚持使用顶级声明,则无需更改任何内容。只需await在顶级语句中使用,编译器就会为您生成一个异步方法。

如果您想编写自己的类声明,那绝对没问题。例如,这很好:

await Task.Delay(1000);
Console.WriteLine($"Hi {args[0]}");
Run Code Online (Sandbox Code Playgroud)

...这也是:

namespace MyNamespace;

class Program
{
    static async Task Main(string[] args)
    {
        await Task.Delay(1000);
        Console.WriteLine($"Hi {args[0]}");
    }
}
Run Code Online (Sandbox Code Playgroud)