我有一个清单
class Vachel
{
int id{get;set;}
int vachelid {get;set;}
string title {get;set;}
}
瓦切尔名单
如
id vachelid title
1 2 bus
1 3 truck
2 4 cycle
2 5 bike
2 5 bick
我想将
List<Vachel>
转换为List<Result>
class Result
{
int id{get;set;}
string vachelid {get;set;}
string title {get;set;}
}
结果必须是
id vachelid title
1 2,3 bus,truck
2 4,5 cycle,bike,bick
我尝试了
List<Vachel> V = getList();
List<Result> R = null;
R = V.GroupBy(x=> new{x.vachelid})
.Select
(
x=> new Result
{
id =x.Key.id,
vachelid =x.FirstOrDefault().vachelid,
title =x.FirstOrDefault().title
}
).ToList();
在这里,我知道我想放一些东西,而不是
.FirstOrDefault().vachelid
和.FirstOrDefault().title
,但是我不知道该怎么办。 最佳答案
R = V.GroupBy(x => x.id)
.Select(g => new Result(){
id = g.Key,
vachelid = string.Join(",", g.Select(x => x.vachelid).Distinct()),
title = string.Join(",", g.Select(x => x.title).Distinct()),
}).ToList();
关于c# - 将对象列表转换为另一个对象列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18203800/