2014-01-27 67 views
-2

是否有可能通過在lambda表達式兩個集合的元素加入兩個集合和分組加入分組+。的LINQ:使用Lambda表達式

例如: 收集/表(1):學生

StudentID StudentName 
1    X 
2    Y 

收集/表(2):商標

StudentID Term  Subject  Mark 
    1   1  Math   100 
    1   1  Physics  90 
    1   2  Math   100 
    1   2  Physics  100 
    2   1  Math   95 
    2   1  Physics  85 
    2   2  Math   90 
    2   2  Physics  100 

所以我需要的結果集合包含

StudentID  StudentName Term  Mark 
    1    X   1  190 
           2  200 
    2    Y   1  180 
           2  190 

感謝。

+3

請出示_us_一個簡單的例子。另外,你有什麼嘗試,你卡在哪裏? –

回答

1

您可以使用ConcatUnion方法連接兩個列表。如果您想重複值,則使用Concat(如果不使用Union)。然後,您可以使用GroupBy按特定屬性或密鑰對結果進行分組。

你可以找到互聯網或MSDN上很好的例子數字。剛讀了這些方法的文檔或者找到一些教程。

0

您可以使用使用Enumerable.Concat像:

var combinedandordered = foo.Concat(bar).OrderBy(it => it.param); 

並在此之後,你可以使用。加入()。