使用linq计算DataTable中两个列值的出现次数

本文关键字:两个 DataTable 计算 linq 使用 | 更新日期: 2023-09-27 18:13:50

我有一个数据表,其中包含一组属性,如(名,姓,性别等)我只想计数value在两列或Attribute中出现的次数。

例如,我的数据表中有4列(FirstName, LastName, Age, Gender)。

我想知道数据表中是否有两个或更多的记录共享相同的名字和姓氏。

我不知道从哪里开始,任何想法都可以拯救我的一天

谢谢

使用linq计算DataTable中两个列值的出现次数

是的,你可以使用LINQ(to - datatable)

按包含两个属性的匿名类型分组:

var duplicates = table.AsEnumerable()
    .GroupBy(r => new { 
        FirstName = r.Field<string>("First Name"),
        LastName  = r.Field<string>("Last Name")
    })
    .Where(g => g.Count() > 1)
    .Select(g => new { Person = g.Key, Count = g.Count(), Rows = g.ToList() });
var duplicates = dt.AsEnumerable().GroupBy(r => r[0]).Where(gr => gr.Count() > 1);