首页 > 代码库 > c#-集合已修改;可能无法执行枚举操作
c#-集合已修改;可能无法执行枚举操作
今天我用foreach语句去迭代Dictionary的时候,发现报错:
集合已修改;可能无法执行枚举操作
网上搜了一下,发现foreach在迭代的时候,foreach在迭代过程,不可以增加和删除.但是,我试验了,发现还有一个问题:在进行值比较并修正的时候,也会报错,如:
1 foreach (KeyValuePair<string, double> soilStrKV in soil) 2 { 3 if (isValidVal(soilStrKV.Value)) 4 { 5 soil[soilStrKV.Key] = replaceInvalidVal; 6 //siteNumStr = soilStrKV.Key.Substring(0, soilStrKV.Key.IndexOf(‘_‘)); 7 //yearStr 8 //siteSoil.Add(); 9 }10 }11 12 /// <summary>13 /// false表示不符合的值,否则符合.14 /// </summary>15 /// <param name="inVal"></param>16 /// <returns></returns>17 private bool isValidVal(double inVal)18 {19 return inVal <= available_val;20 }
在第5行,会报错(重复值修改时候).
c#-集合已修改;可能无法执行枚举操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。