public static void SetArray(Student[] list) { for (int i = 0; i < list.Length; i++) { int sp; Console.Write("Choose your specialty: IITP - 1, SIT - 2, EC - 3\n "); while (!int.TryParse(Console.ReadLine(), out sp) || sp < 1 || sp > 3) { Console.Write("Wrong input, try again: "); } switch (sp) { case 1: list[i] = new IITP { Specialty = "Informatics" }; SetParametrs(list[i]); Console.WriteLine(); break; case 2: list[i] = new SIT { Specialty = "Software for Information Technologies" }; SetParametrs(list[i]); Console.WriteLine(); break; case 3: list[i] = new EC { Specialty = "Electronic Computing" }; SetParametrs(list[i]); Console.WriteLine(); break; } } Console.WriteLine("List of students:"); for (int i = 0; i < list.Length; i++) { list[i].MyEvent += delegate(Student sender) { Console.WriteLine("Data on the student {0} will be displayed now:", sender.Name); }; Console.WriteLine(list[i]); } }
static void Main(string[] args) { Human.Show(); Console.WriteLine(); Student studentOne = new Student("Vladislav", "Piletskiy", 17, "IITP"); Console.WriteLine(studentOne); Console.WriteLine(); IITP informaticStudent = new IITP("Vladislav", "Piletskiy", 17, 9, 9, 9); Console.WriteLine(informaticStudent); SIT softwareStudent = new SIT("Andrew", "Oleshkevich", 18, 10, 10, 9); Console.WriteLine(softwareStudent); EC computingStudent = new EC("Alexey", "Dilevskiy", 17, 9, 10, 9); Console.WriteLine(computingStudent); Human.Show(); Console.WriteLine(); Student[] list = new Student[2]; SetArray(list); Console.WriteLine(); if (list[0].CompareTo(list[1]) == 0) { Console.WriteLine("Students have the same level of knowledge\n"); } if (list[0].CompareTo(list[1]) == 1) { Console.WriteLine("The first student knows more than the second\n"); } if (list[0].CompareTo(list[1]) == -1) { Console.WriteLine("The first student knows less than the second\n"); } Console.WriteLine("Copy of the first student: "); Student st1 = (Student)list[0].Clone(); Console.WriteLine(st1); Console.WriteLine("Copy of the second student:"); Student st2 = (Student)list[1].Clone(); Console.WriteLine(st2); foreach (Student s in list) { Console.WriteLine($"{s.Name} {s.Surname} - Level: {s.CountLevel()}"); } Human.Show(); Console.WriteLine(); informaticStudent.MyEvent += delegate(Student sender) { Console.WriteLine("Data on the student {0} will be displayed now:", sender.Name); }; Console.WriteLine(informaticStudent.ToString()); softwareStudent.MyEvent += sender => Console.WriteLine("\nData on the student {0} will be displayed now:", sender.Name); Console.WriteLine(softwareStudent.ToString()); computingStudent.MyEvent += sender => Console.WriteLine("\nData on the student {0} will be displayed now:", sender.Name); Console.WriteLine(computingStudent.ToString()); Console.ReadKey(); }