是否可以在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
感谢。
答案 0 :(得分:1)
您可以使用Concat
或Union
方法连接两个列表。如果您想要复制值,请使用Concat
如果您不使用Union
。然后,您可以使用GroupBy
按特定属性或密钥对结果进行分组。
您可以在互联网或MSDN
上找到大量优秀示例。只需阅读这些方法的文档或查找一些教程。
答案 1 :(得分:0)
您可以使用Enumerable.Concat使用:
var combinedandordered = foo.Concat(bar).OrderBy(it => it.param);
然后你可以使用.Join()。