如果您从集合中删除项目,则该集合已被更改,无法继续枚举它。
而是使用For循环,例如:
for(int i = dtPerson.Rows.Count-1; i >= 0; i--){ DataRow dr = dtPerson.Rows[i]; if (dr["name"] == "Joe") dr.Delete();}dtPerson.AcceptChanges();请注意,您在反向进行迭代,以避免在删除当前索引后跳过行。

如果您从集合中删除项目,则该集合已被更改,无法继续枚举它。
而是使用For循环,例如:
for(int i = dtPerson.Rows.Count-1; i >= 0; i--){ DataRow dr = dtPerson.Rows[i]; if (dr["name"] == "Joe") dr.Delete();}dtPerson.AcceptChanges();请注意,您在反向进行迭代,以避免在删除当前索引后跳过行。