Четыре лямбда оператора для выполнения арифметических действий - 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;