DataTable, How to conditionally delete rows

前端 未结 4 950
时光取名叫无心
时光取名叫无心 2020-11-30 00:05

I\'m engaged in a C# learning process and it is going well so far. I however just now hit my first \"say what?\" moment.

The DataTable offers random row access to it

4条回答
  •  暗喜
    暗喜 (楼主)
    2020-11-30 00:19

    Extension method based on Linq

    public static void DeleteRows(this DataTable dt, Func predicate)
    {
        foreach (var row in dt.Rows.Cast().Where(predicate).ToList())
            row.Delete();
    }
    

    Then use:

    DataTable dt = GetSomeData();
    dt.DeleteRows(r => r.Field("Amount") > 123.12 && r.Field("ABC") == "XYZ");
    

提交回复
热议问题