想象一下对象列表:
public class Foo
{
public string Name {get; set;}
public int Total {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
现在,我的列表包含3个对象:
new Foo {Name="object", Total=3};
new Foo {Name="object", Total=7};
new Foo {Name="object", Total=5};
Run Code Online (Sandbox Code Playgroud)
如何区分名称和总和?即List只有一个对象:
new Foo {Name="object", Total=15};
Run Code Online (Sandbox Code Playgroud)
提前致谢!
你可以这样做:
var newTotalList = yourList.GroupBy(x => x.Name)
.Select(x => new
{
Name = x.Key,
Total = x.Sum(y => y.Total)
})
.ToList();
Run Code Online (Sandbox Code Playgroud)
这段代码的作用是,首先按名称对元素进行分组,然后对组内所有元素的总字段求和.