如何使用C#消除数据表中的重复项?
可能重复:如何使用C#消除数据表中的重复项?,c#,dataset,duplicates,C#,Dataset,Duplicates,可能重复: 这是我目前正在编写的代码。我正试图清除数据集中的重复字段。我认为正确的方法是使用If语句。有人能帮忙吗?这是我目前掌握的代码: 有一个名为ToTable的DataView方法,它有两个参数:(和一个三参数重载版本) 布尔参数 如果为true,则返回的System.Data.DataTable包含对其所有列具有不同值的行。默认值为false 字符串数组param columnNames 一个字符串数组,包含要包含在返回的System.Data.DataTable中的列名列表。Syst
这是我目前正在编写的代码。我正试图清除数据集中的重复字段。我认为正确的方法是使用If语句。有人能帮忙吗?这是我目前掌握的代码: 有一个名为ToTable的DataView方法,它有两个参数:(和一个三参数重载版本) 布尔参数 如果为true,则返回的System.Data.DataTable包含对其所有列具有不同值的行。默认值为false 字符串数组param columnNames 一个字符串数组,包含要包含在返回的System.Data.DataTable中的列名列表。System.Data.DataTable按指定列在此数组中的显示顺序包含这些列 参考:
每次需要唯一性时,我都使用HashSet而不是其他结构。所以简单的回答是:我不知道 Hashset有一个很好的特性,让您决定它认为什么是唯一的——只需使用适当的构造函数
另一件事是——如果您不使用数据集访问数据库——不要使用它,如果您使用它,则使用强类型版本。如果您有充分的理由这样做,这当然不适用-这只是一条一般规则。可以在数据库字段中指定UNIQUE。
// 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);