C# Main 함수

Study/C# 2011. 11. 7. 21:05
Main 함수
- 프로그램의 시작점
- Main 함수도 클래스 안에 속해야 한다
- 반드시 static이어야 하며, 외부에서 호출되므로 public 액세스 지정을 가져야 한다
- 리턴값과 인수는 다음 4가지 중 하나를 선택할수 있다
1
2
3
4
public static void Main();
public static int Main();
public static void Main(string[] args);
public static int Main (string[] args);


- 리턴값은 프로그램 자체의 실행 결과를 리턴하는데 아예 없거나 있다면 int 형이어야 한다
- 주로 void를 사용하며, int를 사용하면 끝에 return(); 가 있어야 한다


1.
- args는 프로그램으로 전달되는 인수이다
- args는 열어야할 파일의 경로나 옵션 스위치등이 전달된다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
using System;
 
class Program
{
    static void Main(string[] args)
    {
        if (args.Length != 2)
        {
            System.Console.WriteLine("반드시 두개의 인수가 필요합니다");
            return;
        }
 
        Console.WriteLine("{0}를 {1}로 복사합니다.", args[0], args[1]);
    }
}





2.
- Main 함수가 클래스에 소속되는 멤버이기 때문에 여러 개의 쿨래스가 각각의 Main을 가지는 것이 가능하다
- 다음 예제에서 두 클래스가 정의 되어있는데 소속이 다르기 때문에 자체로는 문법적인 에러가 아니다
 그러나 진입점은 유일해야 하므로 이대로 컴파일하면 진입점이 두개라는 에러가 발생한다
 두 개인것은 문법적으로 가능하지만, 어떤것이 유효한지를 알려 주어야 한다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
 
class TwoMain1
{
    static void Main()
    {
        Console.WriteLine("Main1");
    }
}
 
class TwoMain2
{
    static void Main()
    {
        Console.WriteLine("Main2");
    }
}



- 이를 위해 진입점을 설정해야 한다

1. 속성창에서 프로퍼티를 클릭한다



2. 여기서 시작개체에서 진입점을 원하는 메서도로 설정한다




3. 그러면 원하는 결과를 얻을수 있다


Posted by 코딩하는 야구쟁이
,