“ main”和“ async main”有什么区别?

Min*_*tel 2 c# async-await c#-7.1

在这里,我有两个功能static int Main()static async Task<int> Main()

谁能告诉我他们有什么区别?

static int Main()
{
    return DoAsyncWork().GetAwaiter().GetResult();
}

static async Task<int> Main()
{
    return await DoAsyncWork();
}
Run Code Online (Sandbox Code Playgroud)

并且是await

Hen*_*man 6

区别很小,纯粹是化妆品

虽然我找不到调用main的代码示例,但规范指出该功能只是删除了“样板代码”。

所以实现就像

static int $Main()  // compiler generated
{
    return Main().GetAwaiter().GetResult();
}

static async Task<int> Main()
{
    return await DoAsyncWork();
}
Run Code Online (Sandbox Code Playgroud)