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

C#에서 Java의 System.exit(0)에 해당하는 코드는 무엇일까요?

Java 개발자가 C#으로 넘어올 때 가장 먼저 궁금해하는 부분 중 하나가 바로 프로그램 종료 방법입니다. Java에서는 System.exit(0)을 사용하지만, C#에서는 그에 해당하는 메서드가 별도로 존재합니다.

Environment.Exit() 메서드

C#에서 Java의 System.exit(0)에 해당하는 코드는 다음과 같습니다.

Environment.Exit(exitCode);

Environment.Exit() 메서드는 현재 실행 중인 프로세스를 즉시 종료하고, 운영체제에 지정된 종료 코드(exit code)를 반환합니다. 이 메서드는 System 네임스페이스에 포함되어 있어 별도의 using 선언 없이 바로 사용할 수 있습니다.

종료 코드의 의미

종료 코드 값에 따라 프로그램의 실행 결과를 운영체제나 호출한 다른 프로그램에 전달할 수 있습니다.

성공적인 종료: exitCode = 0

종료 코드로 0(zero)을 사용하면 프로세스가 오류 없이 성공적으로 완료되었음을 나타냅니다. 이는 Java의 System.exit(0)과 동일한 동작입니다.

오류 발생 시: 0이 아닌 값

오류가 발생했음을 알리려면 0이 아닌 값을 반환하면 됩니다. 예를 들어 다음과 같이 활용할 수 있습니다.

// 파일이 존재하지 않을 경우 종료 코드 1 반환
Environment.Exit(1);

// 파일 형식이 올바르지 않을 경우 종료 코드 2 반환
Environment.Exit(2);
  • Environment.Exit(1) — 필요한 파일이 존재하지 않음을 나타냅니다.
  • Environment.Exit(2) — 파일의 형식이 올바르지 않음을 나타냅니다.

Java와의 비교

두 언어의 종료 방식을 비교하면 다음과 같습니다.

언어코드
JavaSystem.exit(0);
C#Environment.Exit(0);

참고로, C#의 콘솔 애플리케이션에서는 Main 메서드의 반환 타입을 int로 선언하고 값을 반환하는 방식으로도 종료 코드를 전달할 수 있습니다. 다만 Environment.Exit()는 프로그램의 어느 위치에서든 즉시 프로세스를 강제 종료할 수 있다는 점이 차이입니다.