我在阅读有关 yield
关键字的内容时,发现了一篇来自C# in Depth 的样例章节:http://csharpindepth.com/Articles/Chapter6/IteratorBlockImplementation.aspx。
第一个代码块利用 yield
关键字创建了一个简单的迭代器。但是,第二个代码块展示了编译器处理完这段代码之后的结果。其中,yield
语句被拆分成了状态机等多个部分。
页面上还有其他几个代码例子,也说明了编译器对代码进行修改的情况。
我的问题是:作者实际上是否能够访问编译后的代码,还是仅仅推断出它将会是怎么样的?