Четыре лямбда оператора для выполнения арифметических действий - C#
Формулировка задачи:
Проверьте правильно ли я сделал? И подскажите, как в Лямбда оператор впихнуть проверку деления на 0, как только не пробовал, не получалось. Спасибо.
Создайте четыре лямбда оператора для выполнения арифметических действий: (Add – сложение, Sub – вычитание, Mul – умножение, Div – деление). Каждый лямбда оператор должен принимать два аргумента и возвращать результат вычисления. Лямбда оператор деления должен делать проверку деления на ноль.
Написать программу, которая будет выполнять арифметические действия указанные пользователем.
Листинг программы
- using System;
- namespace Less06_task01
- {
- public delegate int MyDelegat(int a, int b);
- class Program
- {
- static void Main()
- {
- Console.WriteLine("Введите действие--> +,-,*,/");
- string a = Console.ReadLine();
- Console.WriteLine("Первое число -->");
- int x = Convert.ToInt32(Console.ReadLine());
- Console.WriteLine("Второе число -->");
- int y = Convert.ToInt32(Console.ReadLine());
- switch (a)
- {
- case "+": MyDelegat myDelegat = (c, b) => { return c + b; };
- int del = myDelegat(x, y);
- Console.WriteLine("Ответ:{0}",del);
- break;
- case "-": MyDelegat myDelegat1 = (c, b) => { return c - b; };
- int del1 = myDelegat1(x, y);
- Console.WriteLine("Ответ:{0}", del1);
- break;
- case "*": MyDelegat myDelegat2 = (c, b) => { return c * b; };
- int del2 = myDelegat2(x, y);
- Console.WriteLine("Ответ:{0}", del2);
- break;
- case "/": MyDelegat myDelegat3 = (c, b) => { return c / b; };
- int del3 = myDelegat3(x, y);
- Console.WriteLine("Ответ:{0}", del3);
- break;
- default: Console.WriteLine("Выберите из предложанного");
- break;
- }
- Console.ReadKey();
- }
- }
- }
Может кто подсказать?
Решение задачи: «Четыре лямбда оператора для выполнения арифметических действий»
textual
Листинг программы
- case "+": MyDelegat myDelegat = (c, b) => c + b;
- int del = myDelegat(x, y);
- Console.WriteLine("Ответ:{0}", del);
- break;
- case "-": MyDelegat myDelegat1 = (c, b) => c - b;
- int del1 = myDelegat1(x, y);
- Console.WriteLine("Ответ:{0}", del1);
- break;
- case "*": MyDelegat myDelegat2 = (c, b) => c * b;
- int del2 = myDelegat2(x, y);
- Console.WriteLine("Ответ:{0}", del2);
- break;
- case "/": MyDelegat myDelegat3 = (c, b) => b == 0 ? 0 : c / b;
- int del3 = myDelegat3(x, y);
- Console.WriteLine("Ответ:{0}", del3);
- break;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д