본문 바로가기
Study/C#

[C#][Study][기초다지기] Main함수, 명령줄 인수

by 스테디코디스트 2023. 9. 16.
반응형

Main(string[] args) : 명령줄 인수

- Main() 함수는 프로그램 실행을 시작하는 곳이기에 다른 어떤 메소드에서도 매개변수를 허용하지 않는다.

- Command line(명령줄)을 통해 매개변수를 허용하는데 런타임 시 n개의 매개변수를 받을 수 있는 배열형 매개변수를 선언 받는다.(Main(string[] args))

- 명령줄 인수를 사용해보는 두가지 방법이 있다.

 

[사용법 1] cmd로 실제 매개변수 선언

[사용법 2] VS 내에서 디버그 매개변수를 미리 선언

 

아래의 코드를 두 예시에서 동일하게 사용했다.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace command
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("입력 매개변수의 갯수 : {0}", args.Length);

            for (int i = 0; i < args.Length; i++)
            {
                Console.WriteLine("Args[{0}] = [{1}]", i, args[i]);
            }
        }
    }
}

 

[사용법 1 : cmd로 실행전에 매개변수 입력받기]

1. 위와 같은 코드를 VS에서 작성 후 빌드를 해준다!(빌드를 꼭 해주어야 exe파일이 바뀜!)

2. exe파일이 있는 위치를 찾기

- "현재 프로젝트 파일위치 > bin > Debug > net6.0"으로 들어가면 있었다.

3. 주소창에 cmd를 입력해 해당 위치에서 cmd를 실행시킨다.

4. cmd에서 exe 파일의 이름을 입력 후 매개변수를 하나씩 입력해주고 엔터를 치면 결과창이 뜬다!

 

[사용법 2 : VS 내에서 디버그 매개변수를 미리 선언]

1. 상단 메뉴바의 "프로젝트> (프로젝트 이름) 속성" 으로 들어간다.(맨 밑에 있음!)

2. 디버그란으로 들어가 디버그 시작 프로필 UI 열기를 누른다.(이전 버전이면 따로 열지 않아도 바로 보이는 것 같다!)

3. '명령줄 인수' 칸에 전달할 매개변수들을 써준다.

4. 빌드 후 결과를 확인한다.