static void Main(string[] args) { Database db = Database.GetInstance(); Teacher t = new Teacher("Rynat", 1); Teacher t2 = new Teacher("Maksim", 2); Teacher t3 = new Teacher("Maksat", 3); db.AddTeacher(t); db.AddTeacher(t2); db.AddTeacher(t3); Subject Mathem = new Subject("Mathematic"); Subject Bio = new Subject("Biology"); Mathem.SetTeacher(t); Bio.SetTeacher(t2); Bio.SetTeacher(t); //повторное присвоение не будет Student s = new Student("Aibol", 1); Student s1 = new Student("Ermek", 2); Student s2 = new Student("Maksim", 3); Student s3 = new Student("Elena", 4); Student s4 = new Student("Rynat", 5); db.AddStudent(s); db.AddStudent(s1); db.AddStudent(s2); db.AddStudent(s3); db.AddStudent(s4); db.AssignStudentToSubject(Bio, s); db.AssignStudentToSubject(Bio, s1); db.AssignStudentToSubject(Bio, s2); db.AssignStudentToSubject(Bio, s3); db.AssignStudentToSubject(Bio, s); Console.WriteLine(db.AboutSubject(Bio));//info о дисциплине //LINQ вывод одинаковых имен учителей и студентов var res1 = from table in db.Teachers select table.Name; var res2 = from table in db.Students select table.Name; var res = res2.Intersect(res1); foreach (var item in res) { Console.WriteLine("Повторяется имя: " + item); } }