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(); }
static void MultOrDevMethod(string str, int i1, int i2, MultOrDev MultOrDevProgram) { int result = MultOrDevProgram(i1, i2); Console.WriteLine(str + result.ToString()); }