Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将列表中的两个对象聚合为一个_C#_Linq - Fatal编程技术网

C# 将列表中的两个对象聚合为一个

C# 将列表中的两个对象聚合为一个,c#,linq,C#,Linq,我有一个由对象组成的列表 List<Person> where class Person { enum id; string name; int goals; } 列出 班主任 { 枚举id; 字符串名; int目标; } 记录1:{enum.1,“Mark”,20} 记录2:{enum.1,“Mark”,7} 最终结果:只有一条记录{enum.1,“Mark”,27} 我在数据库中多次有同一个人的记录,目标不同。 我知道我可以使用SQL函数。 我正

我有一个由对象组成的列表

List<Person> where 

class Person
{
    enum id;
    string name;
    int goals;

}
列出
班主任
{
枚举id;
字符串名;
int目标;
}
记录1:
{enum.1,“Mark”,20}

记录2:
{enum.1,“Mark”,7}

最终结果:只有一条记录
{enum.1,“Mark”,27}

我在数据库中多次有同一个人的记录,目标不同。
我知道我可以使用SQL函数。
我正在尝试查找linq查询

我想合计两个

from person in PersonList
group person by new { id = person.id, name = person.name } into grouping
select new Person
{
    id = grouping.Key.id,
    name = grouping.Key.name,
    goals = grouping.Sum(x => x.goals)
}
分组是可行的


分组会起作用。

这可能会帮助你这可能会帮助你+1以几乎完全相同的方式击败我29秒:)@lc。事实上,你的答案是可编辑的:)@lazyberezovsky,你可以编辑它或指出缺陷。@Joe我也可以否决它。但实际上我希望lc能删除他的答案——它是可编译的,有一些解释,还有很好的组键创建。顺便说一句,好的经验法则-在短范围内使用短变量名。@lazyberezovsky你对我来说很特别。我希望有一天能达到你的标准。+1以几乎完全相同的成绩击败我29秒:)@lc。事实上,你的答案是可编辑的:)@lazyberezovsky,你可以编辑它或指出缺陷。@Joe我也可以否决它。但实际上我希望lc能删除他的答案——它是可编译的,有一些解释,还有很好的组键创建。顺便说一句,好的经验法则-在短范围内使用短变量名。@lazyberezovsky你对我来说很特别。我希望有一天能达到你的标准。