黄聪:C#使用能够foreach对hashtable、List遍历时“集合已修改;可能无法执行枚举操作。”错误
2024-09-27 03:22:10
解决办法:使用for循环,而不是foreach循环
例如:
ArrayList akeys=new ArrayList(_transmit_tb.Keys);
for(int p=akeys.Count-;p> -;p--)
{
_transmit_tb.Remove(akeys[p]);
}
原因:
1、hashtable存放你放入的值的时候,不是按照你存放顺序放的
所以当你用foreach遍历的时候,就不能保证遍历出来的顺序和你原来存放进去的顺序是一致的。
2、msdn的解释:foreach 语句是对枚举数的包装,它只允许从集合中读取,不允许写入集合。也就是,不能在foreach里遍历的时侯把它的元素进行删除或增加的操作的
最新文章
- Spring之旅(2)
- vs2013中一: 无法查找或打开 PDB 文件解决办法 二:解决This function or variable may be unsafe
- 解析XML文档
- 启动apache和tomcat端口被占用解决办法
- senlin __init__() got an unexpected keyword argument 'additional_headers'
- Angular 1与 Angular 2之间的一些差别
- 商业银行在CNAPS体系中对各种交易的处理
- activiti入门
- (九)ASP.NET自定义用户控件(2)
- UNIX/Linux网络编程基础:应用层协议简介
- 监控apache虚拟主机进程
- Android笔记: 播放提示音 的简单方法
- 常见的XSS攻击代码
- day2--通过setup设置网卡
- mac下自带的Apache+PHP环境输出错误提示
- 使用Spring-hadoop小结
- 八大排序算法——堆排序(动图演示 思路分析 实例代码java 复杂度分析)
- 一. IntelliJ IDEA详细配置文档之初始环境搭建
- 用java实现的英汉词典
- jQuery 练习:取出数组字典的值, 静态对话框, clone方法应用