我的列表集合如下
List<Class> classes = new List<Class>()
{
new Class()
{
className = "A",
students = new List<Student>()
{
new Student{ name="SA"},
new Student{ name="SB"},
new Student{ name="SC"},
}
},
new Class()
{
className = "B",
students = new List<Student>()
{
new Student{ name="SD"},
new Student{ name="SA"},
new Student{ name="SA"},
}
}
}
我希望类中的Distinct学生名称使用格式为List<string>
的 Linq 。我尝试进入单个linq查询但得到类似。List<List<string>>
。我需要List<string>
。
答案 0 :(得分:5)
应该是这样的:
var students = classes.SelectMany(p => p.Students).Select(p => p.Name).Distinct();
SelectMany合并List<Student>
,第二个Select
仅选择学生的姓名。