通过调试发现,Reset似乎没有被调用,到博客园搜了一下,验证了自己的判断,看到了一个文章 http://www.cnblogs.com/Daview/archive/2006/09/15/505317.html
不看不知道,以前有被问到如何实现自定义的集合支持foreach遍历,当时脱口而出实现那个两个接口。现在看来,这真的是初学者的无知,不是简单定义一个类型实现IEnumerable和IEnumerator就可以了。受Reset没被调用的影响,应该定义两个类型分别实现接口,否则就会出现集合遍历第二遍的失败。