Загрузка данных


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());
        }
    }
}