yield的特性 [解决办法] 再说仔细一点吧 p.GetResult().GetEnumerator().MoveNext(); [解决办法] 看编译后的代码 [解决办法] 这个是典型的Deferred execution "Deferred execution is supported directly in the C# language by the yield keyword "
来自msdn, lz可以读一下: Deferred Execution and Lazy Evaluation in LINQ to XML http://msdn.microsoft.com/en-us/library/vstudio/bb943859(v=vs.100).aspx [解决办法] 迭代器内部是延迟执行的,其实就是你每次访问迭代器中的元素的时候,才会执行到内部的代码 [解决办法] 是的,不执行,如果你在main方法中这么写,
var result=p.GetResult(); foreach(var element in result) { 操作; }