Загрузка данных
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Students
{
public string IdStudent { get; set; }
public string Name { get; set; }
public string Group { get; set; }
public string Gender { get; set; }
public string Birthday { get; set; }
public double AverageMark { get; set; }
public string IdTeacher { get; set; }
public override string ToString()
{
return string.Format("Код студента: {0}.\n" + "ФИО: {1}\n" + "Группа: {2}\n" + "Пол: {3}\n" + "День рождения: {4}\n" + "Средний балл: {5}\n" + "Код руководителя: {6}\n", IdStudent, Name, Group, Gender, Birthday, AverageMark, IdTeacher);
}
}
class Teachers
{
public string IdTeacher { get; set; }
public string Name { get; set; }
public string Post { get; set; }
}
internal class Program
{
static void Main(string[] args)
{
Console.Title = "Студенты и научные руководители.";
Students[] studentsInGroup = new[]
{
new Students
{
IdStudent = "001",
Name = "Иванов Серафим Павлович",
Group = "1014",
Gender = "Мужской",
Birthday = "17.04.2006",
AverageMark = 4.5,
IdTeacher = "008"
},
new Students
{
IdStudent = "012",
Name = "Дмитриева Вероника Михайловна",
Group = "1128",
Gender = "Женский",
Birthday = "24.02.2007",
AverageMark = 4.2,
IdTeacher = "010"
},
new Students
{
IdStudent = "040",
Name = "Смирнов Александр Владимирович",
Group = "1128",
Gender = "Мужской",
Birthday = "20.10.2006",
AverageMark = 4.15,
IdTeacher = "014"
},
new Students
{
IdStudent = "063",
Name = "Богданов Ярослав Евгеньевич",
Group = "1200",
Gender = "Мужской",
Birthday = "24.02.2007",
AverageMark = 4.3,
IdTeacher = "022"
},
new Students
{
IdStudent = "067",
Name = "Гордеева Кира Андреевна",
Group = "1240",
Gender = "Женский",
Birthday = "11.05.2006",
AverageMark = 4.0,
IdTeacher = "016"
}
};
Console.WriteLine("------- Результаты запросов LINQ -------");
GetStudentsMale(studentsInGroup);
GetStudentsBirthdays(studentsInGroup);
GetStudentsHighMarks(studentsInGroup);
GetStudentsByGroup(studentsInGroup);
GetAverageByGroup(studentsInGroup);
Console.ReadLine();
}
static void GetStudentsMale (Students[] studentsInGroup)
{
Console.WriteLine("\nВсе студенты мужского пола:");
var males = from p in studentsInGroup where p.Gender == "Мужской" select p;
foreach (var g in males) { Console.WriteLine("- {0}", g); }
}
static void GetStudentsBirthdays(Students[] studentsInGroup)
{
Console.WriteLine("\nВсе студенты, родившиеся 24 февраля 2007:");
var dates = from p in studentsInGroup where p.Birthday == "24.02.2007" select p.Name;
foreach (var bd in dates) { Console.WriteLine("- {0}", bd); }
}
static void GetStudentsHighMarks(Students[] studentsInGroup)
{
Console.WriteLine("\nВсе студенты со средним баллом выше 4.2:");
var marks = from p in studentsInGroup where p.AverageMark > 4.2 select p.Name;
int numSt = marks.Count();
Console.WriteLine("Всего {0} студента(-ов).", numSt);
}
static void GetStudentsByGroup(Students[] studentsInGroup)
{
Console.WriteLine("\nВсе студенты группы 1128:");
var g1128 = from p in studentsInGroup where p.Group == "1128" select new { p.Name, p.Birthday };
foreach (var n in g1128) { Console.WriteLine("- {0}, {1}", n.Name, n.Birthday); }
}
static void GetAverageByGroup(Students[] studentsInGroup)
{
Console.WriteLine("\nСредний балл студентов группы 1128:");
var average1128 = from p in studentsInGroup where p.Group == "1128" select p.AverageMark;
Console.WriteLine("- {0}", average1128.Average());
}
}
}