Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 애플리케이션 종료 메서드 완벽 가이드

Environment.Exit() 메서드

Environment.Exit() 메서드는 현재 프로세스를 즉시 종료하고 운영체제에 종료 코드를 반환합니다.

Environment.Exit(exitCode);

종료 코드(exitCode)는 다음과 같이 사용합니다:

  • 0 (성공): 프로세스가 정상적으로 완료되었음을 나타냅니다.
  • 0이 아닌 값 (오류): 오류 유형을 구분하기 위해 사용합니다. 예를 들어:
  • Environment.Exit(1) - 요청한 파일이 존재하지 않음
  • Environment.Exit(2) - 파일 형식이 올바르지 않음

Application.ExitThread() 메서드

Windows Forms 애플리케이션에서 현재 스레드나 서브 애플리케이션만 종료하려면 System.Windows.Forms.Application.ExitThread()를 사용합니다. 이 메서드는 호출된 스레드의 메시지 루프를 종료시키며, 메인 스레드에서 호출 시 애플리케이션 전체가 종료됩니다.

private void buttonClose_Click(object sender, EventArgs e) {
    System.Windows.Forms.Application.ExitThread();
}

주요 차이점 및 사용 가이드

메서드범위용도
Environment.Exit()전체 프로세스콘솔 앱, 서비스, 즉시 종료가 필요할 때
Application.ExitThread()현재 스레드 (메시지 루프)WinForms에서 특정 폼/스레드만 닫을 때
Application.Exit()전체 애플리케이션 (모든 메시지 루프)WinForms에서 전체 앱을 정상 종료할 때

참고: Environment.Exit()은 finally 블록이나 finalizer를 실행하지 않고 즉시 종료하므로, 리소스 정리가 필요하면 Application.Exit() 또는 폼의 Close()를 사용하는 것이 좋습니다.