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; } }