【问题标题】:Get the set of grouped values as a list using linq使用 linq 将一组分组值作为列表获取
【发布时间】:2010-07-22 20:23:00
【问题描述】:

我正在获取一个数据表并查找特定键的所有行,这些行在表中该键值的条目少于三个。我可以很好地做到这一点,它返回一个分组,其中键是我想要分组的 id 和一个数据行列表,对于每个键值,至少不存在三次。现在我想直接列出所有失败的数据行。我很难做到这一点。我所能做的似乎就是获取列表列表。

var rows = from dr in stagingTable.AsEnumerable()
group by dr.Field<long>("KEY_ID") into g
where g.Count() < 3
select new {ID = g.Key, Values = g};

现在我有了分组信息,我想要一个可以在所有组中找到的所有数据行的直接列表。执行 g.ToList() 只会给我一个列表列表。

有什么建议吗?

【问题讨论】:

    标签: c# linq group-by


    【解决方案1】:

    如果您想展平该列表列表:

     var flattened = rows.SelectMany(x=>x.Values).ToList();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-15
      • 1970-01-01
      相关资源
      最近更新 更多