Как написать команду на C#, чтобы при вводе определенного слова программа закрывала консоль?

Как можно программно завершить работу консоли после ввода определенного ключевого слова? В моем коде я использовал `Environment.Exit(0)` после определенного условия, но это не завершает работу консоли. Можете ли вы поделиться способом, как достичь желаемого результата? Вот мой текущий код: [ваш код].
  • 19 июня 2024 г. 5:41
Ответы на вопрос 2
Для того чтобы завершить работу консоли после ввода определенного слова, вам нужно использовать цикл while, который будет проверять вводимое пользователем слово и в случае совпадения вызывать метод Environment.Exit(0). 

Вот пример кода на C#, который демонстрирует этот подход:

```csharp
using System;

class Program
{
    static void Main()
    {
        string keyword = "exit";
        string input = "";

        while (input.ToLower() != keyword.ToLower())
        {
            Console.Write("Введите слово: ");
            input = Console.ReadLine();
        }

        Environment.Exit(0);
    }
}
```

В данном примере программа будет продолжать запрашивать ввод пользователя до тех пор, пока он не введет слово "exit" (независимо от регистра). После чего программа завершит свою работу с помощью метода Environment.Exit(0).
class Program
{
    static void Main(string[] args)
    {
        while (true)
        {
            Console.Clear();
            double firstVal, secondVal = 0;
            string act;

            try
            {
                Console.WriteLine("Введите 1-е число: ");
                firstVal = double.Parse(Console.ReadLine());

                Console.WriteLine("Выберите операцию: '+' '-' '*' '/' 'x^' '√x'");
                act = Console.ReadLine();

                if (act == "exit")
                {
                    Environment.Exit(0);
                }

                if (act == "√x")
                {
                    Console.WriteLine(Math.Sqrt(firstVal));
                }
                else
                {
                    Console.WriteLine("Введите 2-е число: ");
                    secondVal = double.Parse(Console.ReadLine());
                }
            }
            catch (Exception)
            {
                Console.WriteLine("Введены недопустимые символы");
                Console.ReadLine();
                continue;
            }

            switch (act)
            {
                case "+":
                    Console.WriteLine(firstVal + secondVal);
                    break;

                case "-":
                    Console.WriteLine(firstVal - secondVal);
                    break;

                case "*":
                    Console.WriteLine(firstVal * secondVal);
                    break;
                    
                case "x^":
                    Console.WriteLine(Math.Pow(firstVal, secondVal));
                    break;
                    
                case "/":
                    if (secondVal == 0)
                        Console.WriteLine("Деление на ноль невозможно");
                    else
                        Console.WriteLine(firstVal / secondVal);
                    break;

                default:
                    if (act != "√x") // проверка на допустимую операцию
                        Console.WriteLine("Ошибка! Неправильная операция.");
                    break;
            }

            Console.ReadLine();
            Console.WriteLine("Введите 'exit' для выхода или нажмите Enter для продолжения.");
            string? input = Console.ReadLine();
            if (input == "exit")
            {
                Environment.Exit(0);
            }
        }
    }
}

// Введите 1-е число:
// 5
// Выберите операцию: '+' '-' '*' '/' 'x^' '√x'
// /
// Введите 2-е число:
// 0
// Деление на ноль невозможно
// 
// Введите 'exit' для выхода или нажмите Enter для продолжения.
// exit
// 

// Введите 1-е число:
// 5
// Выберите операцию: '+' '-' '*' '/' 'x^' '√x'
// -
// Введите 2-е число:
// 3
// 2
// 
// Введите 'exit' для выхода или нажмите Enter для продолжения.
// exit
Похожие вопросы