2013-02-28 86 views
0

我有一個由對象組成的列表。將列表中的兩個對象合併爲一個

List<Person> where 

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

} 

記錄1:{enum.1,"Mark",20}
記錄2:{enum.1,"Mark",7 }

最終結果是:只有一個記錄{enum.1,"Mark",27}

我同一個人的記錄多次在不同的目標數據庫。
我知道我可以使用SQL函數。
我想找到一個linq查詢。

我想聚合兩個

+0

這可能會幫助你http://stackoverflow.com/questions/3910222/combine-object-properties-into-a-list-with-linq – Sachin 2013-02-28 16:45:19

回答

3
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) 
} 

一個分組會的工作。

+0

+1打我29秒的幾乎完全一樣的東西:) – 2013-02-28 16:47:43

+0

@lc。其實你的答案是編譯:) – 2013-02-28 16:59:29

+0

@lazyberezovsky,你可以編輯它或指出缺陷。 – Joe 2013-02-28 17:21:15