【发布时间】:2015-06-17 16:26:33
【问题描述】:
在我编写的冗长代码中有一个按钮单击事件。我有一个对象列表。每次单击按钮时,都应修改列表(例如,应删除某些项目),然后使用 foreach 循环进行迭代。
List<Person> lp=new List<Person>();
lp.RemoveAt(2);
foreach(Person j in lp)
{
// do something
}
当我尝试执行上述代码时,它会导致异常。
InvalidOperationException : 集合被修改;枚举操作可能无法执行。
我在互联网上找到了一些解决方案并尝试了它们。其中之一是,
foreach(Person j in lp.ToList())
{
// do something
}
但没有什么可以阻止异常。
有人可以帮忙吗?
【问题讨论】:
-
List 是否有可能被其他线程访问?
-
向我们展示循环内的代码
标签: c# collections