linq - C# Lambda - get distinct Id and append other field value -


i have list of ids , title given below:

    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" }); 

here, want distinct ids , comma separated title against ids using c# lambda expression

expected result:

[     {id: 1001,title : "abc,hij"},     {id: 1002,title : "xyz,opq"},     {id: 1003,title : "efg"}, ] 

could please let me know how can achieve using c# lambda expression. in advance

you can use 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))       }); 

if want new list append .tolist().