Пример #1
0
        static void Main(string[] args)
        {
            ///////////////
            //  ЧАСТЬ 1  //
            ///////////////

            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("  ЧАСТЬ 1");
            Console.ResetColor();

            IHuman[] people =
            {
                new Person("Bob",   "Marley",  26, "male"),
                new Person("Homer", "Simpson", 36, "male"),
                new Educator("Ann", "Smith",   35, "female","HSE",       27000, "PI-19-1", "E-18-2", "BI-17-3"),
                new Student("Jake", "Johnson", 19, "male",  "HSE",  "PI-19-1"),
            };

            Console.WriteLine("Сортировка по возрасту:");
            SortByAge(people);                                              //сортировка по возрасту
            foreach (Person person in people)
            {
                person.DisplayInfo();
                Console.WriteLine();
            }

            Console.WriteLine("Сортировка по имени:");
            Array.Sort(people, new SortByName());
            foreach (Person person in people)
            {
                person.DisplayInfo();
                Console.WriteLine();
            }

            ///////////////
            //  ЧАСТЬ 2  //
            ///////////////

            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("  ЧАСТЬ 2");
            Console.ResetColor();

            IHuman[] males = Get(people, "male");                           //
            foreach (Person male in males)                                  //получение и
            {                                                               //вывод объектов
                male.DisplayInfo();                                         //мужского пола
                Console.WriteLine();                                        //из массива людей
            }                                                               //

            string[] femaleNames = GetNames(people, "female");              //
            foreach (string name in femaleNames)                            //получение и вывод всех имен
            {                                                               //
                Console.WriteLine(name);                                    //объектов женского пола
                Console.WriteLine();                                        //из массива людей
            }                                                               //


            IHuman oldestHuman = GetOldest(people);                         //получение и вывод объекта

            oldestHuman.DisplayInfo();                                      //с самым большим возрастом
            Console.WriteLine();

            Person clone = (Person)(people[2] as Person).Clone();           //клонирование объекта

            clone.DisplayInfo();                                            //и вывод информации
            Console.WriteLine();
        }