c# - 'main' 和 'async main' 有什么区别?

标签 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();
}

并且是await .

最佳答案

差异很小purely cosmetic .

虽然我找不到调用 main the specification 的代码示例指出此功能只是删除了“样板代码”。

所以实现是这样的

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

static async Task<int> Main()
{
    return await DoAsyncWork();
}

关于c# - 'main' 和 'async main' 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52418732/

相关文章:

python - asyncio.sleep 的行为就像一个拦截器

javascript - 带有nodejs axios和vanilla javascript中的异步等待模式的数组文件下载器

C#:可空结构的默认文字和类型推断

C# 7.1 无法发布

c# - 如何使用 INamingContainer 创建自定义控件?

c# - 如何从 xml 中获取数据,通过 linq,c#

c# - C# 中的 Luatable 等价物?

c# - 用多线程迭代字典的最佳方法是什么?

c# - httpclient.GetStringAsync(url) 异步 api 调用的异常处理