gpt4 book ai didi

c# - 在 C# 中对列表进行分组和求和

转载 作者:行者123 更新时间:2023-11-30 20:04:46 25 4
gpt4 key购买 nike

我在 C# 中有一个列表,例如

A,1
B,2
C,3
A,4
B,5

我想以列表的形式返回结果:

A,5
B,7
C,3

因此按第一列分组并对第二列求和。

我该怎么做?很高兴使用 LINQ。声明及代码如下:

class Program
{
static void Main(string[] args)
{
List<MyList> list = new List<MyList>();

list.Add(new MyList() { Letter = "A", Value = 1 });
list.Add(new MyList() { Letter = "B", Value = 2 });
etc...
}
}

class MyList
{
public string Letter { get; set; }
public long Value { get; set; }
}

最佳答案

听起来像你想要的:

var results = list.GroupBy(x => x.Letter, x => x.Value)
.Select(g => new { Letter = g.Key, Sum = g.Sum() });

(不清楚您的类型是什么,但希望您能从中获得所需的列表。)

有一个 GroupBy 的重载,它可以让你在一个调用中完成所有这些,但我个人觉得上面的版本更简单。

关于c# - 在 C# 中对列表进行分组和求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12463808/

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