foreach Collection被修改;枚举操作可能无法执行

时间:2015-11-13 23:47:40

标签: c# foreach

我正在尝试运行测试生成并将一些测试输出传递给foreach循环,但是每次我尝试运行它停止的方法,in在{{{} 1}}循环它给出了一个异常

  

mscorlib.dll

中发生System.InvalidOperationException

然后在foreach中捕获异常并提供错误

  

收藏被修改;枚举操作可能无法执行

我不完全确定为什么会出现这个错误!

1 个答案:

答案 0 :(得分:7)

不允许修改循环内的循环列表。因此,创建一个同样的新列表:

var predcostssubjForLoop = predcostssubj.ToList();

然后再做一次

foreach (PredCost pc in predcostssubjForLoop )

但继续修改循环内的predcostssubj

作为附注,我建议您查看书籍Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin