使用Linq从List列表字符串中获取不同的字符串列表

Niz*_*een 1 linq predicate

我的列表集合如下

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"},
        }                   
    }
}
Run Code Online (Sandbox Code Playgroud)

我想要格式中使用Linq类中的Distinct学生名.我尝试进入单个linq查询,但得到了.,.我需要.List<string>List<List<string>>List<string>

xan*_*tos 5

它应该是这样的:

var students = classes.SelectMany(p => p.Students).Select(p => p.Name).Distinct();
Run Code Online (Sandbox Code Playgroud)

的SelectMany融合了List<Student>,第二Select只选择学生的姓名.