Пример #1
0
        static void Main(string[] args)
        {
            Console.Title = "Лабораторная работа 6 часть первая";
            ColorfulPrint("Студент:\tСавельев Алексей\nГруппа:\t\tИУ5-34Б", "Cyan");
            ColorfulPrint("Работа с Делегатами в C#", "Yellow");

            string str1;
            string str2;

            Console.Write("Введите первый аргумент: ");
            str1 = Console.ReadLine();
            Console.Write("Введите второй аргумент: ");
            str2 = Console.ReadLine();
            while (str2 == "0")
            {
                Console.Write("Введите второй аргумент повторно (неравный нулю): ");
                str2 = Console.ReadLine();
            }
            int i1 = int.Parse(str1);
            int i2 = int.Parse(str2);

            MultOrDevMethod("\nУмножаем: ", i1, i2, Multiply);
            MultOrDevMethod("Делим: ", i1, i2, Devide);

            // Экземпляры делегатов
            MultOrDev p1 = new MultOrDev(Multiply);
            MultOrDev p2 = new MultOrDev(Devide);

            MultOrDevMethod("\nУмножение, использую экземпляр делегата: ", i1, i2, Multiply);
            MultOrDevMethod("Деление, использую экземпляр делегата:", i1, i2, Devide);

            MultOrDevMethod("Создание экземпляра делегата на основе лямбда-выражения: ", i1, i2, (x, y) => x * y);

            Console.WriteLine("\n\nИспользование обощенного делегата Func< >");

            MultOrDevMethodFunc("Создание экземпляра делегата на основе метода: ", i1, i2, Multiply);
            MultOrDevMethodFunc("Создание экземпляра делегата на основе лямбда-выражения: ", i1, i2, (x, y) => x * y);

            Console.ReadKey();
        }
Пример #2
0
        static void MultOrDevMethod(string str, int i1, int i2, MultOrDev MultOrDevProgram)
        {
            int result = MultOrDevProgram(i1, i2);

            Console.WriteLine(str + result.ToString());
        }