您的位置:首页 > 编程语言 > C#

c# Linq Where 抛出异常 导致 程序崩溃

2013-07-03 11:41 309 查看



Collection was modified; enumeration operation may not execute”

这次项目中遇到一个问题, 就是C#程序随机崩溃, 抛出上面的异常。 经过debug后,发现原因是:c#的linq用Where关键字查询列表时,其他线程在操作此列表, 导致Where查询转换为Foreach时抛出异常。
解决办法: 应该有个全局的信号量来负责同步对列表的操作。 在执行Where查询时等待信号量; 在其他线程中设置、复原信号量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: