按项目列出c#,并将其他项目相加

Car*_*ovo 0 c# linq list

想象一下对象列表:

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)

提前致谢!

Sav*_*ave 5

你可以这样做:

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)

这段代码的作用是,首先按名称对元素进行分组,然后对组内所有元素的总字段求和.