是';收益率';关键词是句法糖吗?它的实施是什么

本文关键字:是什么 收益率 关键词 句法 | 更新日期: 2023-09-27 18:15:56

可能重复:
收益率报表实现

我看过msdn文档,上面写着:

yield关键字向编译器发出信号,表示它出现的方法是迭代器块。编译器生成一个类来实现迭代器块中表达的行为。在迭代器块中,yield关键字与return关键字一起使用,为枚举器对象提供值。

因此,这意味着yield关键字是一个语法糖,编译器需要完成生成迭代器的繁重工作。(我说得对吗?(

那么,为这个语法糖生成的实现代码是什么呢。

是';收益率';关键词是句法糖吗?它的实施是什么

生成的代码取决于原始代码,但一般来说,会生成一个跟踪集合当前状态的状态机。

请参阅收益声明的实现,这是Eric Lippert的回答,也是Jon Skeet的博客文章。