C#Lambda-获取不同的Id并附加其他字段值

C#Lambda-获取不同的Id并附加其他字段值,c#,linq,lambda,C#,Linq,Lambda,我有一个ID和标题列表,如下所示: List<Event> events= new List<Event>(); events.Add(new Event(){ Id= "1001", Title= "abc" }); events.Add(new Event(){ Id= "1002", Title= "xyz" }); events.Add(new Event(){ Id= "1001", Title= "hij" }); e

我有一个ID和标题列表,如下所示:

    List<Event> events= new List<Event>();

    events.Add(new Event(){ Id= "1001", Title= "abc" });
    events.Add(new Event(){ Id= "1002", Title= "xyz" });
    events.Add(new Event(){ Id= "1001", Title= "hij" });
    events.Add(new Event(){ Id= "1002", Title= "opq" });
    events.Add(new Event(){ Id= "1003", Title= "efg" });

您能告诉我如何使用
C#Lambda表达式
实现这一点吗。提前感谢

您可以使用
GroupBy
+
String。加入

var query = events.GroupBy(x => x.Id)
    .Select(g => new Event 
     { 
         Id = g.Key, 
         Title = String.Join(",", g.Select(x => x.Title)) 
     });
如果需要新列表,请附加
.ToList()

var query = events.GroupBy(x => x.Id)
    .Select(g => new Event 
     { 
         Id = g.Key, 
         Title = String.Join(",", g.Select(x => x.Title)) 
     });