首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#中出现“集合已修改;可能无法执行枚举操作”异常,如何解决

2013-10-03 
C#中出现“集合已修改;可能无法执行枚举操作”错误,怎么解决这是一个串口通信并将数据在仪表上显示的程序(用

C#中出现“集合已修改;可能无法执行枚举操作”错误,怎么解决
这是一个串口通信并将数据在仪表上显示的程序(用的是串口控件),调试时,一开始程序正常运行,在接收的数据出现突然变化,改变LED仪表显示的小数位数时,出现此错误。还望有经验者不吝赐教!!该问题急需解决,急急急!!!若产生帮助,必加分! 串口通信 数据 c# 调试
[解决办法]
本帖最后由 caozhy 于 2013-09-29 21:13:08 编辑 不要在枚举集合的操作(例如foreach)中去执行修改集合的操作。如果需要修改集合,那么你应该先使用 ToArray() 方法,例如

foreach (var x in MyList.ToArray())
{
    这里执行可能修改MyList的操作
}

[解决办法]
多线程操作同一数据会导致此问题,应加锁控制同一时间只有一个线程能够访问数据。

热点排行