C#中出现“集合已修改;可能无法执行枚举操作”错误 foreach list.Remove()
2016-12-30 16:43
691 查看
原因:
在循环的时候,当集合被删除了一个item后,那么总数 count和索引就会发生改变.所以会报错
解决方法:
不要在枚举集合的操作(例如foreach)中去执行修改集合的操作。如果需要修改集合,那么你应该先使用 ToArray() 方法,例如
C# code
?
---sp123
参考:
http://bbs.csdn.net/topics/390603894 http://www.cnblogs.com/wolf-sun/p/5721457.html
在循环的时候,当集合被删除了一个item后,那么总数 count和索引就会发生改变.所以会报错
解决方法:
不要在枚举集合的操作(例如foreach)中去执行修改集合的操作。如果需要修改集合,那么你应该先使用 ToArray() 方法,例如
C# code
?
参考:
http://bbs.csdn.net/topics/390603894 http://www.cnblogs.com/wolf-sun/p/5721457.html
相关文章推荐
- 【C#】【Thread】Barrier任务并行
- C#之Chart篇
- C# 系统托盘图标
- c#错误
- 【C#】【Thread】SpinWait
- C#小游戏,拼音打字练习
- c# - if 条件中果有多个&& 或 || 条件,其执行顺序是怎样的?
- 【C#】【Thread】SpinLock
- 【C#】【Thread】Semaphore/SemaphoreSlim信号量
- C#获取Excel全部的sheet
- C#通用类库--数字转为人民币汉字大写表示
- C#日志
- 一个C#通过iTextSharp封装的PDF文件操作类代码
- c#使用钩子拦截鼠标键盘事件
- C# 计算标准偏差相当于Excel中的STDEV函数
- A* Pathfinding 使用方法
- C#ftp上传下载
- C# 写日志
- C#缓存介绍 Caching通用帮助类代码整理 .net几种缓存概述
- 反编译C#的dll文件并修改,再重新生成dll