J. *_*mes 0 c# linq tuples list
我有一个带元组的列表,其中包含两个字符串和一个int:
List<Tuple<string, string, int>> peopleList = new List<Tuple<string, string, int>>();
Run Code Online (Sandbox Code Playgroud)
该元组从查找到数据库,并使用带有名称,数字和整数列表的DataReader进行填充。
我想从列表中删除重复项并计算出整数。
我已经根据属性和重复项的总和查看了这个List Distinct条目 -这与我想要的最相似,但是我正在使用元组并努力了解如何删除重复项并正确添加数字。
var group = peopleList.GroupBy(x => x)
.Select(x => new { Name = x.Key.Item1, No = x.Key.Item2, Sum = x.Sum(g => g.Item3) });
Run Code Online (Sandbox Code Playgroud)
我希望得到一个包含所有人员及其对应的计数总和的列表。
所以:
James, 12, 5
Jerry, 15, 2
James, 12, 10
Helen, 87, 8
Jerry, 15, 8
Run Code Online (Sandbox Code Playgroud)
成为:
James, 12, 15
Jerry, 15, 10
Helen, 87, 8
Run Code Online (Sandbox Code Playgroud)
那么,你想GroupBy的Name和No 唯一的(我们想收集,说,所有James, 12进入一个chunk),而不是整个 Tuple:
var group = peopleList
.GroupBy(x => new {
Name = x.Item1,
No = x.Item2
})
.Select(chunk => new {
Name = chunk.Key.Name,
No = chunk.Key.No,
Sum = chunk.Sum(item => item.Item3)
})
Run Code Online (Sandbox Code Playgroud)