gpt4 book ai didi

c# - 使用 linq 从列表中获取值的总和?

转载 作者:可可西里 更新时间:2023-11-01 08:34:39 29 4
gpt4 key购买 nike

我正在尝试使用 linq 从列表列表中获取值的总和?我的数据如下代码所示

        List<List<string>> allData = new List<List<string>>();
using (StreamReader reader = new StreamReader(path))
{
while (!reader.EndOfStream)
{
List<string> dataList;
dataList = reader.ReadLine().Split('|').ToList();
allData.Add(dataList);
}
}

allData 中的数据如下

           allData-->[0]-->[0]-'name1'
[1]-'sub'
[2]-'12'
[1]-->[0]-'name2'
[1]-'sub'
[2]-'15'
[2]-->[0]-'name1'
[1]-'sub2'
[2]-'15'
//and so on ....

我已经应用了分组依据,这让我可以按名称分组,但我无法弄清楚如何获得每个名称的标记总和?

      var grouped = allData.GroupBy(x => x[0]);

在此之后,我将所有匹配的名称归为一个,但现在如何获取该组的分数总和?有什么帮助会很好吗?

  Output should be  name1=27 and name2=15 and so on.

最佳答案

不确定你是想得到每组的总和还是总和。如果是总数,那么这应该可以解决问题

var sum = allData.Sum(x => Int32.Parse(x[2]));

如果是按键,则尝试以下操作

var all = allData
.GroupBy(x => x[0])
.Select(x => x.Sum(y => Int32.Parse(y[2]));

关于c# - 使用 linq 从列表中获取值的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22086692/

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