【发布时间】:2014-02-28 05:05:43
【问题描述】:
我正在尝试使用 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 ....
我已经应用了 group by,它可以让我按名称进行分组,但我无法弄清楚如何获得每个名称的总分?
var grouped = allData.GroupBy(x => x[0]);
在此之后,我将所有匹配的名称归为一个,但现在如何获得该组的分数总和?有什么帮助会很好吗?
Output should be name1=27 and name2=15 and so on.
【问题讨论】:
-
要添加的数字是否总是每个列表的第三个元素?
-
@BrianSnow 是的,它永远是第三个元素