Net Core教程

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

本文主要是介绍C#集合已修改:可能无法执行枚举操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

解决方法:

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

 

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

这篇关于C#集合已修改:可能无法执行枚举操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!