本意是遍历表的行,当行中“主键”列为“”时,将该行从表中删除。执行时就出现了“集合已修改;枚举操作可能无法执行。”的c#错误提示。c#错误代码如下:
DataTable dt = new DataTable();
dt = GetTest(tableName);// GetTest方法用于返回一个DataTable类型的结果集
foreach (DataRow dr in dt.Rows)//执行到该行出现错误提示:集合已修改;枚举操作可能无法执行。
{
if (dr["主键"].ToString() == "")
{ dt.Rows.Remove(dr);}
}
以查阅MSDN这个c#出错的原因是:
foreach语句用于循环遍历集合以获取所需信息,但不能更改正在遍历的集合内容。
可以用foreach遍历dt.Rows这个行集合,但不能在遍历dt.Rows集合时同时更改dt.Rows集合的内容。