using System.Collections.Generic;
public List<Student> Students{get;set;}
public string Name {get;set;}
public static void Main()
var schools = new List<School> {
new School(){ Students = new List<Student> { new Student(){ Name="Bob"}, new Student(){ Name="Jack"} }},
new School(){ Students = new List<Student> { new Student(){ Name="Jim"}, new Student(){ Name="John"} }}
var allStudents = schools.Select(s=> s.Students);
foreach(var student in allStudents){
foreach (var a in student){
Console.WriteLine(a.Name);
var allStudents2 = schools.SelectMany(s=> s.Students);
foreach(var student in allStudents2){
Console.WriteLine(student.Name);