LINQ如何使用“分组依据”来简化具有重复属性的列表

交流电

我有一个对象“ ChartObject”,我想将某些字段分组在一起,然后才能绘制整个列表。

public class ChartObject
{
    public string Type { get; set; }
    public int Year { get; set; }
    public long Cost { get; set; }
}

我想将每年的类型分组,以防止每年重复的类型。对于每种类型,我都希望该年下的总成本。

例如此列表:
ChartObject(Type1,2015,$ 10)
ChartObject(Type1,2015,$ 20)
ChartObject(Type2,2016,$ 10)
ChartObject(Type1,2016,$ 10)
ChartObject(Type2,2017,$ 10)
ChartObject(Type2,2017 ,$ 10)

应与此结合:
ChartObject(Type1,2015,$ 30)
ChartObject(Type1,2016,$ 10)
ChartObject(Type2,2016,$ 10)
ChartObject(Type2,2017,$ 20)

到目前为止,这是我的LINQ查询。这是不正确的,因为它也不按年份分组:

List<ChartObject> coList = GetItems();

var query =
(
    from l in coList
    group l by l.Type into X
    select new ChartObject()
    {
        Cost = X.Sum(c => c.Cost),
        Type = X.First().Type,
        Year = X.First().Year,
    }

).ToList();
用户名

通用方法如下:

// First GroupBy compound type
.GroupBy(i => new { i.Type, i.Year })

// Then select from the Group Key and
// apply an Aggregate/query on the Grouped Values
.Select(g => new {
   Type = g.Key.Type,         // Pull out key values
   Year = g.Key.Year,
   Cost = g.Sum(i => i.Cost)  // Sum all items in group
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Linq查询具有分组依据

来自分类Dev

如何使用分组依据语句

来自分类Dev

如何使用LINQ删除具有属性的重复xml节点?

来自分类Dev

如何使用LINQ从具有重复项的列表中获得第N个最大元素?

来自分类Dev

使用分组依据的LINQ性能优化

来自分类Dev

在SQL查询中使用分组依据来消除重复项

来自分类Dev

Linq查询使用分组依据并具有

来自分类Dev

如何使用分组依据并返回具有空值的行

来自分类Dev

使用“分组依据”重复结果

来自分类Dev

具有多个索引的分组依据

来自分类Dev

如何在linq表达式中编写前5个属性和分组依据?

来自分类Dev

使用LINQ将具有多个继承项的具有相应子项的对象列表分组

来自分类Dev

具有多个变量的分组依据

来自分类Dev

使用Powershell,如何基于具有不同命名约定的重复文件的存在来返回文件列表?

来自分类Dev

使用Linq加入,分组依据和计数...。

来自分类Dev

如何使用LINQ从具有重复项的列表中获得第N个最大元素?

来自分类Dev

使用分组依据的LINQ性能优化

来自分类Dev

Postgres分组依据并提取具有多个元素的分组

来自分类Dev

具有实体和分组依据的Linq查询

来自分类Dev

Linq使用分组依据获取总计

来自分类Dev

LINQ如何使用“分组依据”来简化具有重复属性的列表

来自分类Dev

如何在实体框架中使用分组依据和具有计数子句

来自分类Dev

使用“ for语句”来简化带有多个重复的bash语句

来自分类Dev

使用“分组依据”重复结果

来自分类Dev

Impala / SQL:分组依据-通过创建所有值的列表来聚合字段

来自分类Dev

如何使用Linq对列表进行分组

来自分类Dev

如何使用C#Linq完成“分组依据”

来自分类Dev

LINQ 分组依据;如何让它灵活

来自分类Dev

具有加入条件的分组依据

Related 相关文章

  1. 1

    Linq查询具有分组依据

  2. 2

    如何使用分组依据语句

  3. 3

    如何使用LINQ删除具有属性的重复xml节点?

  4. 4

    如何使用LINQ从具有重复项的列表中获得第N个最大元素?

  5. 5

    使用分组依据的LINQ性能优化

  6. 6

    在SQL查询中使用分组依据来消除重复项

  7. 7

    Linq查询使用分组依据并具有

  8. 8

    如何使用分组依据并返回具有空值的行

  9. 9

    使用“分组依据”重复结果

  10. 10

    具有多个索引的分组依据

  11. 11

    如何在linq表达式中编写前5个属性和分组依据?

  12. 12

    使用LINQ将具有多个继承项的具有相应子项的对象列表分组

  13. 13

    具有多个变量的分组依据

  14. 14

    使用Powershell,如何基于具有不同命名约定的重复文件的存在来返回文件列表?

  15. 15

    使用Linq加入,分组依据和计数...。

  16. 16

    如何使用LINQ从具有重复项的列表中获得第N个最大元素?

  17. 17

    使用分组依据的LINQ性能优化

  18. 18

    Postgres分组依据并提取具有多个元素的分组

  19. 19

    具有实体和分组依据的Linq查询

  20. 20

    Linq使用分组依据获取总计

  21. 21

    LINQ如何使用“分组依据”来简化具有重复属性的列表

  22. 22

    如何在实体框架中使用分组依据和具有计数子句

  23. 23

    使用“ for语句”来简化带有多个重复的bash语句

  24. 24

    使用“分组依据”重复结果

  25. 25

    Impala / SQL:分组依据-通过创建所有值的列表来聚合字段

  26. 26

    如何使用Linq对列表进行分组

  27. 27

    如何使用C#Linq完成“分组依据”

  28. 28

    LINQ 分组依据;如何让它灵活

  29. 29

    具有加入条件的分组依据

热门标签

归档