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

C# 使用linq计算DataTable中两列值的出现次数,c#,linq,datatable,count,group-by,C#,Linq,Datatable,Count,Group By,我有一个数据表,其中包含一组属性,如(名字、姓氏、性别等) 我只想计算两列或属性中出现的值 例如,我的数据表中有4列(FirstName、LastName、Age、Gender) 我想知道datatable中的任何两个或更多记录是否共享相同的名字和姓氏 我不知道从哪里开始,任何想法都可以挽救我的一天 谢谢是的,您可以使用LINQ(-To DataTable) 按包含以下两个属性的匿名类型分组: var duplicates = table.AsEnumerable() .GroupBy(

我有一个数据表,其中包含一组属性,如(名字、姓氏、性别等) 我只想计算两列或属性中出现的值

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

我想知道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=table.AsEnumerable()
.GroupBy(r=>new{
FirstName=r.Field(“First Name”),
LastName=r.Field(“姓氏”)
})
.Where(g=>g.Count()>1)
.Select(g=>new{Person=g.Key,Count=g.Count(),Rows=g.ToList()});
是的,您可以使用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=table.AsEnumerable()
.GroupBy(r=>new{
FirstName=r.Field(“First Name”),
LastName=r.Field(“姓氏”)
})
.Where(g=>g.Count()>1)
.Select(g=>new{Person=g.Key,Count=g.Count(),Rows=g.ToList()});
dt是数据表

dt是数据表。

它可能会帮助您它可能会帮助您