Language/C# WPF

C# 콘솔 창 실행 시 입력 대기하여 꺼지지 않도록 하기

멱군 2023. 9. 9. 16:32

C# 콘솔 애플리케이션을 실행할 때, 프로그램이 빠르게 종료되어 결과를 확인하기 어려운 경우가 있습니다. 이럴 때 프로그램 종료를 지연시켜 사용자의 입력을 대기하게 만들어 결과를 확인할 수 있도록 하는 방법에 대해 알아보겠습니다.

 

 

종료 지연의 필요성

  • 콘솔 애플리케이션에서는 작업이 완료된 후 자동으로 창이 닫히게 됩니다.
  • 결과 확인이나 디버깅을 위해 종료를 지연시킬 필요가 있습니다.

 

Console.ReadLine() 활용하기

  • Console.ReadLine() 메서드는 사용자로부터 한 줄의 텍스트 입력을 받을 때까지 프로그램의 실행을 멈춥니다.
  • 사용자가 Enter 키를 누를 때까지 대기 상태를 유지하므로, 이를 활용하면 콘솔 애플리케이션의 종료를 지연시킬 수 있습니다.
  •  
Console.WriteLine("프로그램을 종료하려면 Enter 키를 누르세요.");
Console.ReadLine();

 

Console.ReadKey() 활용하기

  • Console.ReadKey() 메서드는 사용자로부터 아무 키나 입력 받을 때까지 프로그램의 실행을 멈춥니다.
  • Enter 키 외에도 다른 키 입력에 반응하므로, 더 빠른 종료를 원하는 경우에 유용합니다.
Console.WriteLine("프로그램을 종료하려면 아무 키나 누르세요.");
Console.ReadKey();

 

두 메서드의 차이점

  • Console.ReadLine(): 사용자가 Enter 키를 누를 때까지 대기합니다.
  • Console.ReadKey(): 아무 키나 입력될 때까지 대기합니다.

 

실사용의 예

이전에 CultureInfo 클래스에 대해서 작성하면서 사용했었던 콘솔 프로그램이 있었는데, 오래간만에 이프로그램을 그대로 사용해봤더니 콘솔창이 실행 후 바로 종료되는 현상이 있었습니다. 그래서 소스코드 마지막에 Console.ReadLine()을 넣어주었습니다.

 

[C#] CultureInfo 이름찾아보기

프로그래밍 세계에서 다양한 문화와 언어를 다루게 되면, C#에서 제공하는 CultureInfo 클래스가 꼭 필요합니다. 이 클래스는 .NET Framework 내부에서 제공되며, 다양한 문화와 언어 설정에 활용됩니다

devit.koreacreatorfesta.com

소스코드를 수정하여 실행 후 마지막에 프로그램을 종료하려면 Enter 키를 누르세요. 하고 기다리는걸 확인 할 수 있었습니다.

수정된 종료 소스코드는 아래의 파일을 다운받으시면 됩니다.

CultureInfo_readline.zip
0.00MB

 

결론

C# 콘솔 애플리케이션에서 프로그램의 종료를 지연시키는 방법은 간단합니다. `Console.ReadLine()` 또는 `Console.ReadKey()`를 활용하여 사용자의 입력을 대기하게 만들면, 결과 확인이나 디버깅 과정에서 큰 도움이 됩니다.