【发布时间】:2009-05-15 20:26:37
【问题描述】:
在这篇文章 (http://blogs.msdn.com/oldnewthing/archive/2008/08/13/8854601.aspx) 上,有一个关于迭代器的流行问题和一个关于极端情况的问题:
练习:考虑以下内容 片段:foreach(int i in CountTo100Twice()) { ... }
解释第 150 次通话会发生什么 到上述循环中的 MoveNext() 。 讨论它对递归的影响 枚举器(如树遍历)。
我没有运行此代码,但我假设这是一个问题,据说有文章的答案(下面提供的所有链接),但我无法在文章共享的知识中找到答案或在这篇特定文章的 cmets 中。
有谁知道答案是什么?还有哪些其他极端案例?
1)http://blogs.msdn.com/oldnewthing/archive/2008/08/12/8849519.aspx
2)http://blogs.msdn.com/oldnewthing/archive/2008/08/13/8854601.aspx
3)http://blogs.msdn.com/oldnewthing/archive/2008/08/14/8862242.aspx
4)http://blogs.msdn.com/oldnewthing/archive/2008/08/15/8868267.aspx
谢谢
【问题讨论】:
-
你能详细说明实际问题是什么吗?
-
问题是:解释在上述循环中第 150 次调用 MoveNext() 时会发生什么。讨论它对递归枚举器的影响(例如树遍历)。
-
我已经发布了一系列关于迭代器极端案例的博客文章。 (感谢您的想法!)blogs.msdn.com/ericlippert/archive/tags/Iterators/default.aspx
标签: c#