摘要 我相信很多人对这个再熟悉不过了。对已经修改的集合进行操作就会出现这个错。 解决办法 比如有下面的一段代码,我们创建一个集合,并向集合中添加10个数,然后,我们循环再将这些数移除了。 出现了..... 是不是被泛型集合提供的方法坑了?我记得很久之前我也被坑过。很疑惑 ...
解决办法:使用for循环,而不是foreach循环 例如: 原因: hashtable存放你放入的值的时候,不是按照你存放顺序放的 所以当你用foreach遍历的时候,就不能保证遍历出来的顺序和你原来存放进去的顺序是一致的。 msdn的解释:foreach语句是对枚举数的包装,它只允许从集合中读取,不允许写入集合。也就是,不能在foreach里遍历的时侯把它的元素进行删除或增加的操作的 ...
2013-12-06 13:57 0 3674 推荐指数:
摘要 我相信很多人对这个再熟悉不过了。对已经修改的集合进行操作就会出现这个错。 解决办法 比如有下面的一段代码,我们创建一个集合,并向集合中添加10个数,然后,我们循环再将这些数移除了。 出现了..... 是不是被泛型集合提供的方法坑了?我记得很久之前我也被坑过。很疑惑 ...
在winform 项目时遇到: 集合已修改;可能无法执行枚举操作的问题 错误原因:当用foreach遍历Collection时,如果对Collection有Add或者Remove或其他类似操作都会有这个错误。 因为Collection返回的IEnumerator把当前 ...
C#中直接对集合Dictionary进行遍历并修改其中的值,会报错,如下代码就会报错:集合已修改;可能无法执行枚举操作。代码如下 解决方法就是我们可以另外创建一个数组来循环修改集合值,代码如下: ...
using System; using System.Collections.Generic; using System.Text; using LogHandler; using Syste ...
今天编写程序时 修改了list集合 在foreach时报 “集合已修改;可能无法执行枚举操作。”错误。 首先想到的是没有锁定集合对象。 增加了 private readonly object syncRoot = new object(); 所以先尝试 lock ...
问题描述:在用foreach遍历hashtable的时候,弹出“集合已修改;可能无法执行枚举操作。” 问题代码: private void Check(int TimeOut) //这是一个存活检查线程,为了把连接失效的主机剔除 ...
原因: 不要在foreach里做删除或增加集合的操作 在循环的时候,当集合被删除了一个item后,那么总数 count和索引就会发生改变.所以会报错 解决方法: 不要在List上执行枚举集合的操作(例如foreach)中去执行修改集合的操作。如果需要修改集合,先使用 ToArray ...
体内又对其添加,表面上逻辑和写法看着没错,但在运行时出现异常:查询集合已修改;可能无法执行枚举操作。查 ...