我有一个清单:
| Student | Sport |
|------------|-------------|
| AA | |
| AA | Football |
| BB | Basketball|
| BB | |
我希望按名称分组,并在运动中显示与null或空不同的值。
到目前为止,我有了这个想法var result = from elements in studenList
group elements by elements.name into grouped
select new student {
name = grouped.First().name,
sport = // HOW I GET THIS PART??
};
我尝试过类似的事情:
sport = string.Join(" ", (grouped.Select(x => x.sport).Distinct().ToArray()))
但它在运动名称之间增加了许多空格。
答案 0 :(得分:3)
你几乎就在那里,只需添加一个过滤器来删除空和空条目:
sport = string.Join(
" ",
grouped.Select(x => x.sport)
.Where(x => !string.IsNullOrEmpty(x))
.Distinct())