gpt4 book ai didi

c# - 在 Linq 中按组求和值

转载 作者:行者123 更新时间:2023-11-30 21:32:07 25 4
gpt4 key购买 nike

我有一些 Case从 .csv 文件解析的对象,每个文件都包含一个 brokerName , idvalue

我有一个 List<Case>由案例对象填充,我需要返回所有案例组合的总值,按 brokerName 分组。

所以如果存在以下数据

Case1: "Bob", 1, 200
Case2: "Bob", 2, 300
Case3: "Roger", 3, 100
Case4: "Keith", 4, 50
Case5: "Keith", 5, 300

那么返回值将是

Bob: 500
Roger: 100
Keith: 350

我希望能够在 Linq 中执行此操作,但我不知道如何获得我需要的结果。我不确定如何分组然后对值求和。

我觉得需要使用匿名对象来执行此操作,通过创建匿名对象,我可以跟踪每个经纪人的运行总数。但我无法得到答案。

到此为止

var query = from c in CaseList
group c by c.Broker
select new
{
//?
};

foreach(var c in query)
{
decimal total = c.CaseValue;
}

但我不确定从这里去哪里

最佳答案

通过Broker分组后,可以在Select中通过new关键字创建匿名实例

var groups = list.GroupBy(x=> x.Broker)
.Select(g => new { BrokerName = g.Key, Sum = g.Sum(c => c.value) });
foreach(var g in groups)
{
Console.WriteLine($"{g.BrokerName} : {g.Sum}")
}

它显示输出喜欢:

Bob: 500
Roger: 100
Keith: 350

关于c# - 在 Linq 中按组求和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52481931/

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