【发布时间】:2021-06-25 15:33:49
【问题描述】:
如何从存在相同名称和部门组合组合的数据表中删除重复行?我需要保留一个条目。
DataTable dt = new DataTable();
dt.Columns.Add("id");
dt.Columns.Add("Name");
dt.Columns.Add("Dept");
dt.Rows.Add(1, "Test1", "Sample1");
dt.Rows.Add(2, "Test2", "Sample2");
dt.Rows.Add(3, "Test3", "Sample3");
dt.Rows.Add(4, "Test4", "Sample4"); // Duplicate
dt.Rows.Add(5, "Test4", "Sample4"); // Duplicate
dt.Rows.Add(6, "Test4", "Sample4"); // Duplicate
dt.Rows.Add(7, "Test4", "Sample5");
结果数据表应该是,
dt.Rows.Add(1, "Test1", "Sample1");
dt.Rows.Add(2, "Test2", "Sample2");
dt.Rows.Add(3, "Test3", "Sample3");
dt.Rows.Add(4, "Test4", "Sample4");
dt.Rows.Add(6, "Test4", "Sample5");
如何在 c# 中做到这一点
【问题讨论】:
-
一种“愚蠢”的算法是遍历每一行,创建一个副本,如果尚未存储,则将其存储在列表中。在存储之前进行比较。您的列表将没有重复项。表越大,这个算法就会越慢。
-
我想这个问题的答案可能就是你所需要的:stackoverflow.com/questions/3242892/…