Ejemplo n.º 1
0
        static void TaskTwo()
        {
            // Задача 2 Делегаты и анонимные методы и/или лямбда выражения

            /*
             * 1. Объявить делегаты для работы со студентами
             * 2. Создать метод, в классе группа, позволяющий сортировать студентов.
             * 3. Создать метод, в классе группа, предоставляющий возможность выполнить действие
             *  с приватной коллекцией студентов.
             * 4. Используя метод из пункта 2, отсортировать студентов по средней оценке
             * 5. Используя метод из пункта 3, всем студентам с оценкой от 4 до 6 добавить 1 балл.
             */
            var group = new Group();

            group.AddRangeOfRandomStudents(10);

            group.ShowStudents();
            group.SortStudents()(Group.AvgMarkComparerAscending);
            //group.SortStudentsByStandartDelegate( (x, y) => x.AvgMark > y.AvgMark ? 1 : x.AvgMark < y.AvgMark ? -1 : 0 ); // или так, не вынося делегат наружу

            Console.WriteLine();
            group.ShowStudents();

            group.AddAvgMarks(4, 6, 1);
            Console.WriteLine();
            group.ShowStudents();
        }