C#异常:“集合已被修改,可能无法操作枚举类型”

目录

异常原因

简单的讲就是:被遍历的集合在遍历过程中,被其他线程或者地方改变

解决办法

代码


异常原因

一般产生于未安全处理集合一类的循环导致,常见于foreach循环的时候,表达式被改变导致。

简单的讲就是:被遍历的集合在遍历过程中,被其他线程或者地方改变

解决办法

通常情况下,不要在枚举集合的操作,比如Foreach中去执行修改集合的操作,如果需要修改,应先使用ToArray()方法

代码

foreach (var item in 你定义的集合.ToArray())
{
     // 这里是你写的对集合的操作语句;     
}

这样将枚举集合先进行ToArry()操作,将集合列表对象转换成数组对象,再进行修改操作不会对集合进行修改,改动的只是集合中元素的类容。


如有问题,敬请指教!谢谢!

你可能感兴趣的:(C#,WPF,c#,wpf)