Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用C#消除数据表中的重复项?_C#_Dataset_Duplicates - Fatal编程技术网

如何使用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);