在运行程序时遇到这样一段异常,仔细检查后发现是使用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 }
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);
}
}
{
DataRow dr = dt.Rows[i];
if(dr[1].ToString("3").Equals())
{
dt.Rows.Remove(dr);
}
}
我抬头仰望,星星给予仰望者光芒……