【发布时间】:2014-06-28 22:24:06
【问题描述】:
有一个如何实现枚举器migh的示例:
http://msdn.microsoft.com/en-us/library/system.collections.ienumerator.aspx 这是一种有效的方法。然而真正的List 或Array 在修改它们时会使它们的迭代器失效。
我的问题是——它是如何完成的?
我能想到的最好的方法仍然是保留对集合的引用,以及一些标记(int id)。每次调整集合大小时,标记都会增加。并且在枚举器端的每个moveNext 上,都会检查标记——当匹配时,枚举继续,如果不匹配——抛出异常。
但这只是我的猜测,我没有找到任何可靠的东西。
【问题讨论】:
标签: c# list ienumerator