[C#] C #에서 콘솔 응용 프로그램을 종료하는 명령은 무엇입니까?

콘솔 응용 프로그램을 종료하기위한 C #의 명령은 무엇입니까?



답변

당신이 사용할 수있는 Environment.Exit(0);Application.Exit

Environment.Exit(0) 더 깨끗 합니다.


답변

가장 적절한 방법으로 몇 가지 옵션 :

  1. Program.Main 메서드에서 int를 반환
  2. 예외를 던지고 어디에서나 처리하지 마십시오 (예기치 않은 오류 상황에 사용)
  3. 다른 곳에서 강제 종료하려면 System.Environment.Exit( 휴대용이 아닙니다! 아래 참조 )

가독성을 높이기 위해 2013 년 9 월 수정

특정 종료 코드를 사용하여 리턴 : 주석에서 Servy가 지적한대로 int리턴 유형으로 Main을 선언 하고 이러한 방식으로 오류 코드를 리턴 할 수 있습니다. 그래서 거기에 정말 사용 Environment.Exit 할 필요는 없다 않는 한 당신이 종료 코드로 종료해야 할 가능성이 메인 방법에 그것을 할 수 없습니다. 처리되지 않은 예외가 전파되면 예외를 throw하고 Main에서 오류 코드를 반환하여이를 피할 수 있습니다. 응용 프로그램이 다중 스레드 인 경우 종료 코드로 올바르게 종료하려면 더 많은 상용구가 필요할 수 있으므로 Environment.Exit를 호출하는 것이 좋습니다.

Evironment.Exit멀티 스레드 응용 프로그램을 작성할 때도 사용에 대한 또 다른 요점 은 재사용 성 입니다. Environment.Exit관련 이 없는 환경 (예 : 웹 서버에서 사용할 수있는 라이브러리) 에서 코드를 재사용 하려면 코드를 이식 할 수 없습니다. 내 생각에 가장 좋은 해결책은 여전히 ​​메서드가 일부 오류 / 완료 상태에 도달했음을 나타내는 예외 및 / 또는 반환 값을 사용하는 것입니다. 이렇게하면 모든 .NET 환경과 모든 유형의 응용 프로그램에서 항상 동일한 코드를 사용할 수 있습니다. 종료 코드를 반환하거나 비슷한 방식으로 종료해야하는 앱을 구체적으로 작성하는 경우 Environment.Exit계속 진행하여 스레드를 최상위 수준으로 감싼 다음 필요에 따라 오류 / 예외를 처리 할 수 ​​있습니다.


답변

기본 기능 실행이 완료되면 콘솔 응용 프로그램이 종료됩니다. “반환”은 이것을 달성 할 것입니다.

    static void Main(string[] args)
    {
        while (true)
        {
            Console.WriteLine("I'm running!");
            return; //This will exit the console application's running thread
        }
    }

오류 코드를 반환하는 경우 초기 스레드 외부의 함수에서 액세스 할 수있는 다음과 같은 방법으로 오류 코드를 반환 할 수 있습니다.

    System.Environment.Exit(-1);


답변

Environment.Exit(0)및 을 사용할 수 있습니다 Application.Exit.

Environment.Exit():이 프로세스를 종료하고 기본 운영 체제에 지정된 종료 코드를 제공합니다.


답변


댓글 달기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다