c# Linq Where 抛出异常 导致 程序崩溃
2013-07-10 15:42
344 查看
Collection was modified; enumeration operation may not execute”
这次项目中遇到一个问题, 就是C#程序随机崩溃, 抛出上面的异常。 经过debug后,发现原因是:c#的linq用Where关键字查询列表时,其他线程在操作此列表, 导致Where查询转换为Foreach时抛出异常。解决办法: 应该有个全局的信号量来负责同步对列表的操作。 在执行Where查询时等待信号量; 在其他线程中设置、复原信号量。
本文出自 “木子纵横” 博客,请务必保留此出处http://muzizongheng.blog.51cto.com/856912/1333064
相关文章推荐
- c# Linq Where 抛出异常 导致 程序崩溃
- c# Linq Where 抛出异常 导致 程序崩溃
- 编写高质量代码改善C#程序的157个建议——建议153:若抛出异常,则必须要注释
- ArcGIS for Android 10.1.1API 中文标注导致程序异常崩溃问题
- 如何防止后台线程抛出的异常让程序崩溃退出
- Xcode调试非异常导致崩溃的程序
- Xcode调试非异常导致崩溃的程序
- SQL Server 抛出自定义异常,由C#程序俘获之并进行相应的处理
- Xcode调试非异常导致崩溃的程序
- 编写高质量代码改善C#程序的157个建议——建议58:用抛出异常代替返回错误代码
- c#操作Excel时,抛出异常:“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”
- C#的WinForm程序应用了XP主题样式之后,抛出异常的解决方法
- ArcGIS for Android 10.1.1API 中文标注导致程序异常崩溃问题
- c#抛出程序权限不足或者未授权异常
- C++抛出异常时无法捕捉到异常,致使程序崩溃
- 在iOS10中使用stringWithUTF8String时字符串部分显示错误,转换失败导致string为空,程序崩溃
- coreData -- 拖入其他程序的dataModel文件 导致崩溃
- cocos2dx 在android手机输入特殊字符导致程序崩溃
- android 中处理崩溃异常并重启程序
- 解决Android 打包后 so文件不完整导致程序崩溃