/// <summary> /// List .Join( /// List to join with (filtered in this case), /// Match Property GroupNumber in Student objects /// with Property GroupNumber in Group objects /// Return new anonymous type or student in this case /// </summary> /// <param name="list"></param> /// <param name="groups"></param> /// <param name="department"></param> /// <returns></returns> public static List <Student> GetStudentsByDepartment (this List <Student> list, List <Group> groups, DepartmentsType department) { var output = list.Join( groups.Where(group => group.DepartmentName == DepartmentsType.Mathematics).ToList(), student => student.GroupNumber, group => group.GroupNumber, (student, group) => student) .ToList(); return(output); }
public Group(int number, DepartmentsType department) { this.GroupNumber = number; this.DepartmentName = department; }