我有一个 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 表达式
预期结果:
[
{Id: 1001,Title : "abc,hij"},
{Id: 1002,Title : "xyz,opq"},
{Id: 1003,Title : "efg"},
]
能否请您告诉我如何使用 C# Lambda 表达式
实现此目的。提前致谢
最佳答案
您可以使用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()
。
关于C# Lambda - 获取不同的 Id 并附加其他字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29913031/