DataTable删除多条记录
C#中删除DataTable的多条记录的正确代码示意如下:
for (int i = AtblWork.Rows.Count - 1; i >= 0; i--)
{
if (AtblWork.Rows[i]["Ratio"].mmToDecimalDef(0) <= 0)
AtblWork.Rows.RemoveAt(i);
}
而用foreach(DataRow vRow in AtblWork.Rows)的方法会报错,提示类似如"集合已经改变,无法枚举"的错误信息。
错误代码示意如下:
foreach (DataRow vRow in AtblWork.Rows)
{
if (vRow.RowState == DataRowState.Deleted)
{
continue;
}
if (vRow["Ratio"].mmToDecimalDef(0) <= 0)
{
vRow.Delete();
}
}