集合已修改;可能无法执行枚举操作。

产生此错误的原因是由于:将foreach语句用于在源集合中添加或移除项。

微软的官方解释为:

foreach 语句对实现 System.Collections.IEnumerableSystem.Collections.Generic.IEnumerable<T> 接口的数组或对象集合中的每个元素重复一组嵌入式语句。 foreach 语句用于循环访问集合,以获取您需要的信息,但不能用于在源集合中添加或移除项,否则可能产生不可预知的副作用。 如果需要在源集合中添加或移除项,请使用 for 循环。

posted @ 2011-01-13 15:36  ChineseCheng  阅读(670)  评论(0编辑  收藏  举报