C# 프로그램을 실행할 때 외부에서 값을 전달하고 싶다면 명령줄 인수(Command Line Arguments)를 활용하면 됩니다. 명령줄 인수는 프로그램 실행 시 함께 입력되는 값들로, 실행 환경에 따라 유연하게 동작하는 프로그램을 만들 때 매우 유용합니다.
Main 메서드와 string[] args
C#으로 프로그램을 작성할 때 진입점 역할을 하는 것이 바로 static void Main 메서드입니다. 이 메서드의 매개변수인 string[] args에는 명령줄에서 전달된 모든 인수가 문자열 배열 형태로 담기게 됩니다.
class HelloWorld {
static void Main(string[] args) {
/* C# 첫 번째 프로그램 */
Console.WriteLine("Hello World");
Console.ReadKey();
}
}위 코드에서 string[] args는 명령줄을 통해 전달된 모든 값을 저장하는 변수입니다. 예를 들어 콘솔에서 다음과 같이 프로그램을 실행했다면,
MyProgram.exe One
배열 args에는 "One"이라는 문자열 하나가 저장됩니다.
명령줄 인수 출력하기
전달받은 인수를 화면에 출력해 보겠습니다. args.Length로 인수의 개수를 확인할 수 있고, foreach 반복문으로 각 인수를 순서대로 출력할 수 있습니다.
Console.WriteLine("인수 개수: " + args.Length);
Console.WriteLine("전달된 인수:");
foreach (Object obj in args) {
Console.WriteLine(obj);
}실행 결과
"One"이라는 인수 하나를 전달하여 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.
인수 개수: 1
전달된 인수:
One
정리
명령줄 인수를 활용하면 프로그램을 수정하지 않고도 실행 시점에 다양한 값을 전달할 수 있습니다. 파일 경로, 설정 옵션, 모드 선택 등을 외부에서 지정해야 하는 상황에서 string[] args를 적극적으로 활용해 보세요. 여러 개의 인수는 공백으로 구분하여 전달하며, 공백을 포함한 하나의 인수를 전달하려면 큰따옴표로 묶어주면 됩니다.