如何使用 C# 删除数据表中的重复条目? [复制]

Posted

技术标签:

【中文标题】如何使用 C# 删除数据表中的重复条目? [复制]【英文标题】:How do you get rid off duplicate entries in a data table using C#? [duplicate] 【发布时间】:2012-11-08 19:02:16 【问题描述】:

可能重复:How to select distinct values from datatable?

这是我目前正在处理的代码。我试图摆脱我的数据集中的重复字段。我相信这样做的正确方法是使用 If 语句。有人可以帮忙吗?这是我到目前为止的代码:

【问题讨论】:

可以在数据库字段中分配 UNIQUE。 【参考方案1】:

有一个名为 ToTable 的 DataView 方法,它有两个参数:(和一个三参数重载版本)

一个布尔参数不同 如果为 true,则返回的 System.Data.DataTable 包含对其所有列具有不同值的行。默认值为 false。

一个字符串数组参数columnNames 一个字符串数组,其中包含要包含在返回的 System.Data.DataTable 中的列名列表。 System.Data.DataTable 包含指定列,按照它们在此数组中出现的顺序排列。

// create a dv from the source dt 
 DataView dv = new DataView(dt); 
// set the output columns array of the destination dt 
 string[] strColumns = "NodeID", "Title", "Url"; 
// true = yes, i need distinct values. 
 dt = dv.ToTable(true, strColumns);

参考: Remove Duplicate Records in a DataTable the Easy Way

【讨论】:

【参考方案2】:

每次我需要唯一性时,我都会使用 HashSet 而不是其他结构。所以简短的回答是:我没有。

Hashset 有一个很好的功能,可以让您决定它认为什么是独特的 - 只需使用适当的构造函数。

另一件事是 - 如果您不使用 DataSets 来访问数据库 - 不要使用它,如果您这样做了,那么请改用强类型版本。如果您有充分的理由这样做,这当然不适用 - 这只是一般规则。

【讨论】:

以上是关于如何使用 C# 删除数据表中的重复条目? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 plotly subplots() 删除重复的图例条目

如何使用 python 有选择地删除 x 行以在数据框中重复条目?

如何删除以编程方式添加新联系人时添加的 Android 联系人应用程序中的重复条目?

如何删除drupal中的缓存db条目?

如何使用 Propel ORM 在数据库中查找重复条目?

删除重复的数组条目