码迷,mamicode.com
首页 > Windows程序 > 详细

c#-集合已修改;可能无法执行枚举操作

时间:2015-01-06 13:20:42      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

今天我用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#-集合已修改;可能无法执行枚举操作

标签:

原文地址:http://www.cnblogs.com/listened/p/4205592.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!