C# 异步编程深度解析
1. 内置任务类型返回值的优势
在 C# 中,返回内置任务类型(如 Task 或 Task<T> )有诸多好处。调用者不一定要对返回的任务做任何处理,这使得方法使用起来和返回 void 的方法一样简单。不过,返回任务类型还有额外的优势,即调用者如果需要,可以使用这个任务。
返回 void 的唯一理由可能是外部约束要求方法具有特定的签名。例如,大多数事件处理程序要求返回类型为 void 。但除非有强制要求,否则不建议异步方法返回 void 。
程序入口点(通常是 Main 方法)是一个特殊情况。.NET 运行时不支持异步入口点,它期望 Main 方法返回 void 或 int 。不过,C# 允许 Main 方法返回 Task 或 Task<int> 。在这种情况下,C# 编译器会生成一个隐藏方法作为真正的入口点,该方法会调用异步的 Main 方法,并阻塞直到返回的任务完成。如果使用顶级语句,不会有显式的 Main 声明,但如果在这些语句中使用了 await ,编译器会选择返回类型为 Task ;如果使用 return <
超级会员免费看
订阅专栏 解锁全文
3万+

被折叠的 条评论
为什么被折叠?



