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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5
Похожие ответы