【问题标题】:Linq: Group by multiple fields using the dot notationLinq:使用点符号按多个字段分组
【发布时间】:2010-12-10 05:28:15
【问题描述】:

我有一个很好的 linq 查询,目前正好给了我我需要的东西,在这种情况下是按日期分组的 list 对象列表,但是我还需要按 ID 字段分组,我想知道如何更改语法按另一个字段分组。我尝试了多种方法,但似乎无法解决,所以它仍然返回一个列表对象列表,按 entrydate 和 ID 字段分组。

这是目前的代码

var grouped = sales.SalesList.Where(s => !s.Ignore).GroupBy(s => s.EntryDate).Select(grp => grp.ToList()).ToList();

foreach (List<Sale> saleslist in grouped)
{

}

提前致谢。

【问题讨论】:

    标签: c# linq


    【解决方案1】:

    这样做的一个好方法是通过匿名类型对倍数进行分组:

    var grouped = list.GroupBy(x => new { x.a, x.b, x.c });
    

    【讨论】:

    • +1 我曾经使用过object[],但对我个人而言,使用匿名类型看起来更好。
    猜你喜欢
    • 2023-02-20
    • 1970-01-01
    • 1970-01-01
    • 2016-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-28
    相关资源
    最近更新 更多