Что такое команда в C # для выхода из консольного приложения?
c#
console-application
exit
Sababoni
источник
источник
Environment.Exit
требуется наличие разрешений SecurityPermissionFlag.UnmanagedCode - что может быть проблематично для некоторых.Несколько вариантов, в порядке наиболее подходящего способа:
System.Environment.Exit
( не переносимо! См. Ниже )Отредактировано 9/2013 для улучшения читабельности
Возврат с определенным кодом выхода: Как указывает Servy в комментариях, вы можете объявить Main с
int
типом возврата и вернуть код ошибки таким образом. Таким образом, на самом деле нет необходимости использовать Environment.Exit, если только вам не нужно завершить работу с кодом выхода и вы не можете сделать это в методе Main. Скорее всего, этого можно избежать, создав исключение и вернув код ошибки в Main, если там распространяется какое-либо необработанное исключение. Если приложение является многопоточным, вам, вероятно, понадобится еще больше шаблонов для правильного завершения с кодом выхода, поэтому вам может быть лучше просто вызвать Environment.Exit.Еще одно замечание против использования
Evironment.Exit
- даже при написании многопоточных приложений - это возможность многократного использования . Если вы когда-нибудь захотите повторно использовать свой код в среде, которая делает егоEnvironment.Exit
неактуальным (например, библиотека, которая может использоваться на веб-сервере), код не будет переносимым. На мой взгляд, лучшим решением по-прежнему является использование исключений и / или возвращаемых значений, которые показывают, что метод достиг некоторого состояния ошибки / завершения. Таким образом, вы всегда можете использовать один и тот же код в любой среде .NET и в любом приложении. Если вы пишете специально приложение, которое должно возвращать код завершения или завершаться способом, аналогичным тому, чтоEnvironment.Exit
происходит, вы можете продолжить и обернуть поток на самом высоком уровне и обработать ошибки / исключения по мере необходимости.источник
Консольные приложения будут закрыты после завершения работы основной функции. «Возвращение» достигнет этого.
Если вы возвращаете код ошибки, вы можете сделать это следующим образом, который доступен из функций вне исходного потока:
источник
Вы можете использовать
Environment.Exit(0)
иApplication.Exit
.Environment.Exit()
: завершает этот процесс и дает базовой операционной системе указанный код выхода.источник