gpt4 book ai didi

c# - LINQ 过滤和聚合

转载 作者:太空宇宙 更新时间:2023-11-03 17:06:04 25 4
gpt4 key购买 nike

我有一个可以这样表示的项目列表:

ClientNo     Name     Date        Time
0001 Mike 01/12/2000 6
0002 Dave 01/12/2000 12
0001 Mike 01/12/2000 10
0002 Dave 02/12/2000 6

是否可以使用 LINQ 对其进行分组和聚合以使其看起来像这样?

ClientNo     Name     Date        Time
0001 Mike 01/12/2000 16
0002 Dave 01/12/2000 12
0002 Dave 02/12/2000 6

我正在尝试为特定日期的每个客户返回一个汇总行。我一直在摆弄以下内容,但无法正确处理。不幸的是,我对 LINQ 的了解很差。

var result = from p in ListofModel
group p by new { p.ClientNo, p.Date, p.Name, p.Time } into g
orderby g.key.Date
select new ModelClass
{
ClientNo = g.Key.ClientNo,
Name = g.key.Name,
.....
}

毫不奇怪,这并没有给我想要的结果。如何修复?

最佳答案

我认为它应该是这样的:

from p in ListofModel
group p by new { p.ClientNo, p.Date, p.Name } into g
orderby g.key.Date
select new ModelClass
{
ClientNo = g.Key.ClientNo,
Name = g.key.Name,
Date = g.Key.Date,
Time = g.Sum(x => x.Time)
}

你不想按时间分组,所以不应该包含在分组 key 中。

关于c# - LINQ 过滤和聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6263127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com