【发布时间】:2012-01-07 07:16:36
【问题描述】:
我见过msdn docs,上面写着:
yield 关键字向编译器发出信号,表明它出现的方法是一个迭代器块。编译器生成一个类来实现迭代器块中表达的行为。在迭代器块中,yield 关键字与 return 关键字一起使用,为枚举器对象提供值。
所以这意味着 yield 关键字是一种语法糖,编译器负责生成迭代器的繁重工作。 (我说的对吗?)
那么这个语法糖生成的实现代码是什么。
【问题讨论】:
-
99% 的编程语言都是语法糖。毕竟有Turing Completeness 的概念,并且有一种语言的单条指令已被证明是Turing Complete。在编程语言中,一切都与语法有关。
-
@Stilgar +1 哈哈很好的评论 :) 很难确定它的正确性。
-
仅作记录:Syntactic suger is a Good Thing™。
标签: c# language-implementation yield-keyword