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查询时等待信号量; 在其他线程中设置、复原信号量。
相关文章推荐
- c# Linq Where 抛出异常 导致 程序崩溃
- c# Linq Where 抛出异常 导致 程序崩溃
- SQL Server 抛出自定义异常,由C#程序俘获之并进行相应的处理
- Xcode调试非异常导致崩溃的程序
- 编写高质量代码改善C#程序的157个建议——建议58:用抛出异常代替返回错误代码
- C#的WinForm程序应用了XP主题样式之后,抛出异常的解决方法
- c#操作Excel时,抛出异常:“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”
- c#抛出程序权限不足或者未授权异常
- ArcGIS for Android 10.1.1API 中文标注导致程序异常崩溃问题
- C++抛出异常时无法捕捉到异常,致使程序崩溃
- 如何防止后台线程抛出的异常让程序崩溃退出
- 编写高质量代码改善C#程序的157个建议——建议153:若抛出异常,则必须要注释
- ArcGIS for Android 10.1.1API 中文标注导致程序异常崩溃问题
- Xcode调试非异常导致崩溃的程序
- Xcode调试非异常导致崩溃的程序
- Basler相机设置曝光时间SDK崩溃,导致程序崩溃
- 【C#】添加引用方式抛出和捕获干净的WebService异常
- 如何在程序异常或者崩溃时产生一个dump文件
- 编写高质量代码改善C#程序的157个建议[用抛异常替代返回错误、不要在不恰当的场合下引发异常、重新引发异常时使用inner Exception]
- android 中处理崩溃异常并重启程序