Teachers[] teachers = new[]
{
new Teachers
{
IdTeacher = "008",
Name = "Петров Иван Сергеевич",
Post = "Преподаватель кафедры информационных технологий"
},
new Teachers
{
IdTeacher = "010",
Name = "Соколова Анна Викторовна",
Post = "Преподаватель кафедры рекламы"
},
new Teachers
{
IdTeacher = "014",
Name = "Кузнецов Дмитрий Олегович",
Post = "Преподаватель кафедры архитектуры"
},
new Teachers
{
IdTeacher = "022",
Name = "Васильева Мария Игоревна",
Post = "Преподаватель кафедры юридических дисциплин"
},
new Teachers
{
IdTeacher = "016",
Name = "Федоров Алексей Павлович",
Post = "Преподаватель кафедры менеджмента, туризма и иностранных языков"
}
};
GetAverageByGroup(studentsInGroup);
GetGroupStudents(studentsInGroup);
GetStudentsTeachers(studentsInGroup, teachers);
// 6. Все студенты, сгруппированные по группам
static void GetGroupStudents(Students[] studentsInGroup)
{
Console.WriteLine("\nСтуденты, сгруппированные по группам:");
var groups = from p in studentsInGroup
group p by p.Group;
foreach (var g in groups)
{
Console.WriteLine($"\nГруппа: {g.Key}");
foreach (var student in g)
{
Console.WriteLine("- {0}", student.Name);
}
}
}
// 7. ФИО студента и его группа + ФИО и должность руководителя (join)
static void GetStudentsTeachers(Students[] studentsInGroup, Teachers[] teachers)
{
Console.WriteLine("\nСтуденты и их научные руководители:");
var result = from s in studentsInGroup
join t in teachers
on s.IdTeacher equals t.IdTeacher
select new
{
StudentName = s.Name,
StudentGroup = s.Group,
TeacherName = t.Name,
TeacherPost = t.Post
};
foreach (var item in result)
{
Console.WriteLine(
"- Студент: {0}, группа {1}\n Руководитель: {2}, должность: {3}\n",
item.StudentName,
item.StudentGroup,
item.TeacherName,
item.TeacherPost
);
}
}