编程语言
首页 > 编程语言> > C#集合已修改:可能无法执行枚举操作

C#集合已修改:可能无法执行枚举操作

作者:互联网

 最近老板让我开发一个绩效小工具,加了一行代码后发现报了这个错。仔细一想这其实是个低级错误,为什么呢?哦!因为可以Foreach的集合是需要实现IEnumerable接口的,因此在遍历的时候你是无法对集合进行操作的(因为集合项已经改变了,你的下一次循环不能保证修改的是原来集合中的值),无论是key还是value。其实解决方法也很简单,用For循环来代替Foreach即可。

解决方法:

这里的op.Users[i]其实就是原来的dic.Key的源

 

顺便多说一句,Foreach适合遍历输出(即不改变集合元素时的循环),当对集合项的值有改变时,选择For循环。

标签:遍历,C#,改变,枚举,循环,Foreach,集合,其实
来源: https://www.cnblogs.com/jyj666/p/15816650.html