我有一个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 expression
预期结果:
[
{Id: 1001,Title : "abc,hij"},
{Id: 1002,Title : "xyz,opq"},
{Id: 1003,Title : "efg"},
]
您能告诉我如何使用C# Lambda expression
实现此目的。提前致谢
答案 0 :(得分:6)
您可以使用GroupBy
+ String.Join
var query = events.GroupBy(x => x.Id)
.Select(g => new Event
{
Id = g.Key,
Title = String.Join(",", g.Select(x => x.Title))
});
如果您想要新的列表附加.ToList()
。