删除元组列表中的重复项和求和值

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)

Dmi*_*nko 5

那么,你想GroupByNameNo 唯一的(我们想收集,说,所有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)