using System.Collections.Generic;
public List<string> Students { get; set; }
public static void Main()
List<string> searchedStudents = new() { "Brian", "Adrian", "Matt", "Chloe" };
List<SchoolClass> schoolClasses = new()
new() { Students = new() { "Brian", "Zara" } },
new() { Students = new() { "Sophie", "Zara" } },
var matchingSchoolClasses = new List<SchoolClass>();
foreach (var schoolClass in schoolClasses)
if (schoolClass.Students.Intersect(searchedStudents).Any())
matchingSchoolClasses.Add(schoolClass);
var matchingSchoolClasses2 = schoolClasses
.Where(schoolClass => schoolClass.Students.Intersect(searchedStudents).Any())
PrintStudents(matchingSchoolClasses);
PrintStudents(matchingSchoolClasses2);
private static void PrintStudents(List<SchoolClass> schoolClasses)
foreach (var schoolClass in schoolClasses)
Console.WriteLine($"Students in matching school class: [ {string.Join(", ", schoolClass.Students)} ]");