从DataTable中删除DataRows

0 c# collections datatable

我想从DataTable中删除DataRows.要删除的行位于数据列表"wantDelete"中.由于例外,请更正我的代码:

foreach (DataRow dr in myTable.Rows)
{
     if (wantDelete.Contains(dr))
     myTable.Rows.Remove(dr);
}
Run Code Online (Sandbox Code Playgroud)

例外是:

例外

非常感谢你.

Tim*_*ter 5

您无法在枚举期间修改集合,因为foreach使用枚举器,而枚举器无法更改基础集合.

所以你应该使用for-loop或者使用deleteItems你已经过滤的另一个集合().

我在你的代码中看到你已经预先过滤了它(我假设wantDelete是List<DataRow>):

foreach (DataRow dr in wantDelete)
{
     myTable.Rows.Remove(dr);
}
Run Code Online (Sandbox Code Playgroud)

旁注:你知道DataTable如果你使用的话,从a 中删除行不会删除它们DataAdapter吗?因此你需要使用DataRow.Delete().