【问题标题】:calculating the occurrence of two column values in DataTable using linq使用 linq 计算 DataTable 中两列值的出现
【发布时间】:2016-10-19 11:50:09
【问题描述】:

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

例如,我的数据表中有 4 列(名字、姓氏、年龄、性别)。

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

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

谢谢

【问题讨论】:

标签: c# linq datatable count group-by


【解决方案1】:

是的,您可以使用 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() });

【讨论】:

    【解决方案2】:
    var duplicates = dt.AsEnumerable().GroupBy(r => r[0]).Where(gr => gr.Count() > 1);
    

    dt 是数据表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-25
      • 1970-01-01
      • 2011-11-15
      • 2022-08-19
      • 1970-01-01
      • 1970-01-01
      • 2012-02-28
      相关资源
      最近更新 更多