查询列表中的列表

时间:2014-04-23 18:43:52

标签: c# linq

我有一个教室列表,每个教室都有一个学生列表。如何获得所有有学生名为Bob的课堂列表?

我试过了:

var bobClassrooms = allClassrooms.SelectMany(x => x.Students)
                                 .Where(y => y.FirstName == "Bob");

但是这会给我一个名字叫Bob的学生名单。我如何才能将其列为教室列表?

2 个答案:

答案 0 :(得分:3)

使用Any

var bobClassrooms = allClassrooms.Where(x => x.Students.Any(y => y.FirstName == "Bob"));

答案 1 :(得分:2)

这应该有效

var bobClassrooms = allClassrooms
     .Where(x => 
         x.Students.Any(y => y.FirstName == "Bob")
     );