Как остановить автоматическое закрытие приложений С#?

Мои консольные приложения в Visual Studio автоматически закрываются, поэтому я хотел бы использовать что-то вроде C system("PAUSE") для "приостановки" приложений в конце его выполнения, как я могу это достичь?

Ответ 1

Console.ReadLine();

или

Console.ReadKey();

ReadLine() ждет , ReadKey() ждет любой ключ (кроме клавиш-модификаторов).

Изменить: украл ключевой символ из Дарина.

Ответ 2

Вы можете просто скомпилировать (начать отладку) свою работу с помощью Ctrl + F5.

Попробуйте. Я всегда это делаю, и консоль показывает мне, что мои результаты открываются. Дополнительный код не требуется.

Ответ 3

Console.ReadLine(), чтобы дождаться, пока пользователь Enter или Console.ReadKey будет ждать любой клавиши.

Ответ 4

Попробуйте Ctrl + F5 в Visual Studio для запуска вашей программы, это добавит паузу с "Нажмите любую клавишу, чтобы продолжить..." автоматически без каких-либо Console.Readline() или ReadKey() функции.

Ответ 5

Использование:

Console.ReadKey();

Чтобы закрыть его, когда кто-то нажал любую клавишу, или:

Console.ReadLine();

Если пользователь набирает что-то и нажимает, введите.

Ответ 6

Ctrl + F5 лучше, потому что вам не нужны дополнительные строки. И вы можете, в конце концов, нажать режим входа и выхода из режима.

Но когда вы запускаете программу с F5 и ставите точку прерывания, вы можете отлаживать свое приложение и это дает вам другие преимущества.

Ответ 7

В качестве альтернативы вы можете отсрочить закрытие, используя следующий код:

System.Threading.Thread.Sleep(1000);

Обратите внимание, что Sleep использует миллисекунды.

Ответ 8

Эти решения говорят о том, как работает ваша программа.

Вы можете отключить #if DEBUG и #endif при вызовах Консоли, но если вы действительно хотите, чтобы окно не закрывалось только на вашей машине dev в Visual Studio или если VS не работает, только если вы явно настройте его, и вы не хотите раздражать 'Press any key to exit...' при запуске из командной строки, путь к использованию - использовать API System.Diagnostics.Debugger.

Если вы хотите, чтобы это работало в DEBUG, просто оберните этот код в метод [Conditional("DEBUG")] void BreakConditional().

// Test some configuration option or another
bool launch;
var env = Environment.GetEnvironmentVariable("LAUNCH_DEBUGGER_IF_NOT_ATTACHED");
if (!bool.TryParse(env, out launch))
    launch = false;

// Break either if a debugger is already attached, or if configured to launch
if (launch || Debugger.IsAttached) {
    if (Debugger.IsAttached || Debugger.Launch())
        Debugger.Break();
}

Это также работает для отладки программ, которые нуждаются в повышенных привилегиях или которые должны быть способны поднять себя.

Ответ 9

Если вы не хотите, чтобы программа закрывалась, даже если пользователь нажимает любую клавишу;

 while (true) {
      System.Console.ReadKey();                
 };//This wont stop app