Async/await是一个很好的语法糖

Ste*_*tef 1 .net c# async-await c#-5.0

我们可以说C#async/await模式是某种(智能)糖语法吗?

因为据我所知,在最后,它"只是"隐藏了程序员的(内部)工作线程的所有实现.

usr*_*usr 6

是的,没有CLR支持await.它在编译时消失了.你可以写的任何东西都可以在await没有它的情况下写作.

等待任务这是一种奇特的方式来调用ContinueWith:)

反编译一个使用等待的程序集,看它是如何工作的.

  • LINQ查询表达式当然纯粹是语法糖.库组件不是.任何人都可以写.这就是说公平地说,所有的C#都是语法糖......我猜这个概念是弱定义的. (2认同)
  • 我同意。这就是为什么我说可能只是从异步方法到状态机的转换是语法糖,但 TAP 功能作为一个整体不是。 (2认同)