在运行程序时遇到这样一段异常,仔细检查后发现是使用Foreach...In语法体内运用了对Collection的Remove或Add导致的,只需要将foreach方法改为for方法即可。

出问题的原代码如下:

1 foreach (DataRow dr in dt.Rows)
2 {
3     if (dr[1].ToString().Equals("3"))
4     {
5         dt.Rows.Remove(dr);
6     }
7 }

 

 

改成这样就ok了:

 

for(int i=dt.Rows.Count-1;i>=0;i--)
{
    DataRow dr 
= dt.Rows[i];
    
if(dr[1].ToString("3").Equals())
    {
        dt.Rows.Remove(dr);
    }
}

 

 

posted on 2010-03-31 15:50  田老师  阅读(10814)  评论(2编辑  收藏  举报