对泛型进行比较移除时使用如下代码,出现运行错误:“集合已修改可能无法执行枚举操 作”

这种情况是由于System.Collection.Generic泛型中集合List<>中执行了Remove()方法,则原有集合将被修改,而foreach的实现依赖于IEnumerable接口或实现GetEnumerator方法,这样均需要使用List<>实例的length属性。由于原有集合的长度为不确定因素,此时则将出现无法实现进行枚举操作的逻辑错误。

解决方法是使用for循环进行遍历删除,并将游标变量在删除元素的同时自减1.

No related posts.

以上关联文章由 Yet Another Related Posts Plugin 提供支持。