Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.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# 消除DataTable中的重复记录_C#_Sql_Datatable - Fatal编程技术网

C# 消除DataTable中的重复记录

C# 消除DataTable中的重复记录,c#,sql,datatable,C#,Sql,Datatable,我有一个包含以下内容的.NET数据表: Date ID1 ID2 1/1/2014 1 a 1/1/2014 2 a 1/1/2014 3 a 2/1/2014 1 b 2/1/2014 2 b 2/1/2014 3 b 3/1/2014 1 c 3/1/2014 2 c 3/1/2014 3 c 如何使用dat

我有一个包含以下内容的.NET数据表:

Date        ID1     ID2
1/1/2014    1       a
1/1/2014    2       a
1/1/2014    3       a
2/1/2014    1       b
2/1/2014    2       b
2/1/2014    3       b
3/1/2014    1       c
3/1/2014    2       c
3/1/2014    3       c
如何使用datatable方法消除重复项,使其成为

Date        ID1     ID2
1/1/2014    1       a
2/1/2014    2       b
3/1/2014    3       c
因此,您希望根据日期和ID2列删除数据表的“副本”。您可以使用
Linq来设置数据集
可枚举。GroupBy

tblDate = tblDate.AsEnumerable()
    .GroupBy(r => new { date = r.Field<DateTime>("Date"), id2 = r.Field<string>("ID2") })
    .Select(g => g.First())
    .CopyToDataTable();
tblDate=tblDate.AsEnumerable()
.GroupBy(r=>new{date=r.Field(“date”),id2=r.Field(“id2”)})
.Select(g=>g.First())
.CopyToDataTable();

这只需要每组的第一行,这不是您的结果。但是,您没有提到根据哪一列可能重复的
ID1

规则?如果你只是想比较一下日期,为什么要取第一个日期的第一条记录,第二个日期的第二条记录和最后一个日期的最后一条记录?这是任意的吗?重复日期和ID2,也许我不应该称之为重复。。。