0

我有一个包含重复行的数据表。

DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn() { ColumnName = "Id" });
dt.Columns.Add(new DataColumn() { ColumnName = "Name" });
DataRow datarow1 = dt.NewRow();
datarow1["Id"] = 1;
datarow1["Name"] = "George";
dt.Rows.Add(datarow1);
DataRow datarow2 = dt.NewRow();
datarow2["Id"] = 1;
datarow2["Name"] = "George";
dt.Rows.Add(datarow2);
DataRow datarow3 = dt.NewRow();
datarow3["Id"] = 3;
datarow3["Name"] = "David";
dt.Rows.Add(datarow3);

如何从 DataTable 中提取不同的行?

4

2 回答 2

2
DataTable getDistinctRows = dt.DefaultView.ToTable(true, new string[] { "Id", "Name" });
于 2013-06-20T18:55:31.257 回答
0

我很久以前写了一篇关于同样问题的博客文章。我使用 LINQ 和 IEqualityComparer 来解决这个问题。

http://www.iramellor.com/LINQ-Distinct-a-DataTable-and-the-IEqualityComparerT

更新

对不起,我才看到下面的评论。由于网站移动,上面的 URL 无法正常工作。这是更新的链接:

https://iramellor.com/2008/08/26/LINQ-Distinct-a-DataTable-and-the-IEqualityComparer/

于 2013-06-20T18:58:36.917 回答