She*_*Pro 6 c# language-implementation yield-keyword
可能重复: yield语句实现
我见过msdn docs,它说:
yield关键字向编译器发出信号,表明它出现的方法是迭代器块.编译器生成一个类来实现迭代器块中表达的行为.在迭代器块中,yield关键字与return关键字一起使用,以向枚举器对象提供值.
所以它意味着yield关键字是一个语法糖,编译器完成了生成迭代器的繁重工作.(我对么 ?)
yield
那么这个语法糖的生成实现代码是什么.
Ode*_*ded 5
生成的代码取决于原始代码,但一般来说,生成的状态机会跟踪集合的当前状态。
请参阅yield 语句实现、Eric Lippert 的这个答案和Jon Skeet 的这篇博文。
归档时间:
14 年,9 月 前
查看次数:
854 次
最近记录:
9 年,3 月 前