http://xiangai.taobao.com
http://shop148612228.taobao.com

Collection was modified; enumeration operation may not execute Dictionary 集合已修改;可能无法执行枚举操作

public void ForeachDic() { Dictionary dic = new Dictionary(); dic.Add("1", 10); dic.Add("2", 20); dic.Add("3", 30); foreach (KeyValuePair kvp in dic) { Console.WriteLine(String.Format("Key:{0}; Value:{1}", kvp.Key, kvp.Value)); dic[kvp.Key] = 100;//此操作会报错:集合已修改;可能无法执行枚举操作。 } } 解决方法就是我们可以另外创建一个数组来循环修改集合值,代码如下: private void ForeachDic() { Dictionary dic = new Dictionary(); dic.Add("1", 10); dic.Add("2", 20); dic.Add("3", 30); String[] keyArr = dic.Keys.ToArray(); for (int i = 0; i < keyArr.Length; i++) { dic[keyStr[i]] = dic[keyStr[i]] + 1; } }
posted @ 2019-01-21 11:08  万事俱备就差个程序员  阅读(754)  评论(0编辑  收藏  举报

http://xiangai.taobao.com
http://shop148612228.taobao.com
如果您觉得对您有帮助.领个红包吧.谢谢.
支付宝红包
微信打赏 支付宝打赏