【发布时间】:2016-10-19 11:50:09
【问题描述】:
我有一个数据表,其中包含一组属性,例如(名字、姓氏、性别等) 我想只计算两列或属性中出现的值。
例如,我的数据表中有 4 列(名字、姓氏、年龄、性别)。
我想知道数据表中是否有两条或多条记录共享相同的名字和姓氏。
我不知道从哪里开始,任何想法都可以挽救我的一天
谢谢
【问题讨论】:
标签: c# linq datatable count group-by
我有一个数据表,其中包含一组属性,例如(名字、姓氏、性别等) 我想只计算两列或属性中出现的值。
例如,我的数据表中有 4 列(名字、姓氏、年龄、性别)。
我想知道数据表中是否有两条或多条记录共享相同的名字和姓氏。
我不知道从哪里开始,任何想法都可以挽救我的一天
谢谢
【问题讨论】:
标签: c# linq datatable count group-by
是的,您可以使用 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);
dt 是数据表。
【讨论】: