c# Linq Where 抛出异常 导致 程序崩溃
原创muzizongheng 博主文章分类:C# ©著作权
©著作权归作者所有:来自51CTO博客作者muzizongheng的原创作品,请联系作者获取转载授权,否则将追究法律责任
Collection was modified; enumeration operation may not execute”
这次项目中遇到一个问题, 就是C#程序随机崩溃, 抛出上面的异常。
经过debug后,发现原因是:c#的linq用Where关键字查询列表时,其他线程在操作此列表, 导致Where查询转换为Foreach时抛出异常。
解决办法: 应该有个全局的信号量来负责同步对列表的操作。 在执行Where查询时等待信号量; 在其他线程中设置、复原信号量。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C# LINQ to XML
LINQ to XML 为创建 XML 元素提供了一种称为“函数构造”的有效方式。函数构造是指在单个语句中创建 XML 树的能力。 启用
linq to xml xml xml文件 子节点 -
LINQ 查询简介(C#)
查询是一种从数据源检索数据的表达式。查询通常用专门的查询语言来表示。随着时间
linq c# numbers query 数据库