dar*_*nte 3 c# linq datatable filtering
我有一个DataTable看起来像这样:
ID Name DateBirth
.......................
1 aa 1.1.11
2 bb 2.3.11
2 cc 1.2.12
3 cd 2.3.12
Run Code Online (Sandbox Code Playgroud)
哪个是删除具有相同ID的行的最快方法,以获得类似的内容(保留第一个出现,删除下一个):
ID Name DateBirth
.......................
1 aa 1.1.11
2 bb 2.3.11
3 cd 2.3.12
Run Code Online (Sandbox Code Playgroud)
我不想双重传递表行,因为行号很大.我想尽可能使用一些LinQ,但我想这将是一个大问题,我必须使用比较器.
cuo*_*gle 10
您可以使用LINQ to DataTable,基于列进行区分ID,您可以在此列上进行分组,然后先选择:
var result = dt.AsEnumerable()
.GroupBy(r => r.Field<int>("ID"))
.Select(g => g.First())
.CopyToDataTable();
Run Code Online (Sandbox Code Playgroud)