Human: Сделай калькулятор на c#

Assistant: Вот возможный код калькулятора на C#, который может выполнять базовые операции (сложение, вычитание, деление и умножение):

```
using System;

namespace Calculator
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Calculator");
            Console.WriteLine("Enter first number: ");
            double num1 = double.Parse(Console.ReadLine());
            Console.WriteLine("Enter second number: ");
            double num2 = double.Parse(Console.ReadLine());
            Console.WriteLine("Enter operation (+, -, *, /): ");
            char operation = char.Parse(Console.ReadLine());
            double result;

            switch (operation)
            {
                case '+':
                    result = num1 + num2;
                    Console.WriteLine("Result: " + result);
                    break;
                case '-':
                    result = num1 - num2;
                    Console.WriteLine("Result: " + result);
                    break;
                case '*':
                    result = num1 * num2;
                    Console.WriteLine("Result: " + result);
                    break;
                case '/':
                    if (num2 != 0)
                    {
                        result = num1 / num2;
                        Console.WriteLine("Result: " + result);
                    }
                    else
                    {
                        Console.WriteLine("Cannot divide by zero.");
                    }
                    break;
                default:
                    Console.WriteLine("Invalid operation.");
                    break;
            }
        }
    }
}
```

Human: А если я хочу чтобы калькулятор был не в консоли, а с визуалом?

Assistant: Для создания калькулятора с графическим интерфейсом в C# можно использовать Windows Forms. 
Пример:

using System;
using System.Windows.Forms;

namespace Calculator
{
    public partial class Form1 : Form
    {
        double num1, num2, result;
        char operation;

        public Form1()
        {
            InitializeComponent();
        }

        private void btnOne_Click(object sender, EventArgs e)
        {
            txtDisplay.Text = txtDisplay.Text + btnOne.Text;
        }

        private void btnTwo_Click(object sender, EventArgs e)
        {
            txtDisplay.Text = txtDisplay.Text + btnTwo.Text;
        }

        // Аналогичные методы для остальных цифр

        private void btnPlus_Click(object sender, EventArgs e)
        {
            num1 = double.Parse(txtDisplay.Text);
            txtDisplay.Text = "";
            operation = '+';
        }

        private void btnMinus_Click(object sender, EventArgs e)
        {
            num1 = double.Parse(txtDisplay.Text);
            txtDisplay.Text = "";
            operation = '-';
        }

        private void btnMultiply_Click(object sender, EventArgs e)
        {
            num1 = double.Parse(txtDisplay.Text);
            txtDisplay.Text = "";
            operation = '*';
        }

        private void btnDivide_Click(object sender, EventArgs e)
        {
            num1 = double.Parse(txtDisplay.Text);
            txtDisplay.Text = "";
            operation = '/';
        }

        private void btnEqual_Click(object sender, EventArgs e)
        {
            num2 = double.Parse(txtDisplay.Text);
            switch (operation)
            {
                case '+':
                    result = num1 + num2;
                    txtDisplay.Text = result.ToString();
                    break;
                case '-':
                    result = num1 - num2;
                    txtDisplay.Text = result.ToString();
                    break;
                case '*':
                    result = num1 * num2;
                    txtDisplay.Text = result.ToString();
                    break;
                case '/':
                    result = num1 / num2;
                    txtDisplay.Text = result.ToString();
                    break;
            }
        }
    private void btnClear_Click(object sender, EventArgs e)
    {
        txtDisplay.Text = "";
    }
}


Для создания графического интерфейса можно использовать встроенный дизайнер Windows Forms, который входит в состав среды разработки Visual Studio.

В данном примере мы создаем кнопки для цифр и операций, а также текстовое поле для отображения результатов. Каждый раз, когда пользователь нажимает кнопку цифры, цифра добавляется к тексту в текстовом поле. Когда пользователь нажимает кнопку операции, текущее значение в текстовом поле преобразуется в число и сохраняется в переменную `num1`. После этого текстовое поле очищается, готовясь к вводу второго числа. Когда пользователь нажимает кнопку `=`, второе число преобразуется в число и сохраняется в переменную `num2`. Далее происходит выполнение операции, выбранной пользователем, и результат сохраняется в переменную result. Затем результат преобразуется в строку и выводится в текстовое поле.

Вы можете добавить дополнительные функции и возможности, такие как обработку исключений для недопустимых входных данных или добавление дополнительных математических операций.

Надеюсь, этот пример поможет вам понять, как создать калькулятор с графическим интерфейсом на C#.

Human: Довольно информативно и понятно. Спасибо за помощь

Assistant: Всегда пожалуйста.
Если есть ещё вопросы, обращайтесь.
Я здесь всегда к вашим услугам.