Collection was modified; enumeration operation may not execute.的异常处理

在运行程序时遇到这样一段异常,仔细检查后发现是使用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);
    }
}

 

 

你可能感兴趣的:(enumeration)