Main Method

http://msdn.microsoft.com/ko-kr/library/acy3edy3(v=vs.100).aspx

– Main 메서드는 프로그램 제어가 시작되고 끝나는 .exe 프로그램의 진입점입니다.


– Main은 클래스 또는 구조체 내부에 선언됩니다.Main은 static이어야 하며 public이 아니어야 합니다.이전 예제에서 이 메서드에는 기본 액세스 수준인 private이 지정되었습니다. 이 메서드의 바깥쪽 클래스나 구조체는 정적일 필요가 없습니다.


– Main은 void 또는 int 반환 형식일 수 있습니다.


– Main 메서드는 명령줄 인수를 포함하는 string[] 매개 변수가 있거나 없는 상태로 선언할 수 있습니다.Visual Studio를 사용하여 Windows Forms 응용 프로그램을 만드는 경우 수동으로 매개 변수를 추가하거나 Environment 클래스를 사용하여 명령줄 인수를 가져올 수 있습니다.매개 변수는 명령줄 인수(0부터 시작)로 읽습니다. C 및 C++와 달리 프로그램의 이름은 첫 번째 명령줄 인수로 취급되지 않습니다. 


class Program
{
    static void Main(string[] args)
    {
        // Display the number of command line arguments:
        System.Console.WriteLine(args.Length);
    }
}



 

.Net namespace






























네임스페이스


설명


System


타입, 메모리 관리 핵심 클래스들


System.Collections


배열, 연결 리스트 등의 컬렉션 클래스


System.IO


파일 입출력 네트워크 관련 클래스


System.Windows.Forms


윈도우즈 폼과 컨트롤


System.Drawing


GDI+


System.Web


개발에 관련된 클래스


System.Xml


XML 관련 클래스들


System.Security


보안, 암호, 권한 관련 클래스


namespace

namespace (MSDN)
http://msdn.microsoft.com/ko-kr/library/0d941h9d(v=vs.100).aspx


namespace (C# Study)
http://csharpstudy.com/CSharp/CSharp-namespace.aspx

namespace (Hoons.net)
http://www.hoons.kr/Lecture/LectureMain.aspx?BoardIdx=43000&kind=53&view=0


namespace (Winapi)
http://www.winapi.co.kr/dotnet/book/2-3-1.htm



using System;


namespace ConsoleApplication1
{
  namespace A
  {
    class MyClass
    {
      int value = 1;
      public void MyMethod() { System.Console.WriteLine(value); }
    }
  }
  namespace B
  {
    class MyClass
    {
      double value = 2.1;
      public void MyMethod() { System.Console.WriteLine(value); }
    }
  }

  class Program
  {
    static void Main(string[] args)
    {

        A.MyClass a = new A.MyClass();
        a.MyMethod(); // 1 출력
        B.MyClass b = new B.MyClass();
        b.MyMethod(); // 2.1 출력
     }
  }
}




namespace SampleNamespace
{
    class SampleClass
    {
        public void SampleMethod()
        {
            System.Console.WriteLine(
              “SampleMethod inside SampleNamespace”);
        }
    }

    // Create a nested namespace, and define another class.
    namespace NestedNamespace
    {
        class SampleClass
        {
            public void SampleMethod()
            {
                System.Console.WriteLine(
                  “SampleMethod inside NestedNamespace”);
            }
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            // Displays “SampleMethod inside SampleNamespace.”
            SampleClass outer = new SampleClass();
            outer.SampleMethod();

            // Displays “SampleMethod inside SampleNamespace.”
            SampleNamespace.SampleClass outer2 = new SampleNamespace.SampleClass();
            outer2.SampleMethod();

            // Displays “SampleMethod inside NestedNamespace.”
            NestedNamespace.SampleClass inner = new NestedNamespace.SampleClass();
            inner.SampleMethod();
        }
    }
}



C# Console Program Using Notepad

VC# Console Program Using Notepad

C:\Windows\Microsoft.NET\Framework\v4.0.30319 디렉토리 안에 C# 컴파일러인 csc.exe 가 있는지 확인한다.

사용자 삽입 이미지
환경변수 Path에 추가 (제어판->시스템->고급->환경변수->시스템변수->Path)에 C:\Windows\Microsoft.NET\Framework\v4.0.30319 를 추가한다.
사용자 삽입 이미지

메모장(notepad)에 C# 코드를 작성한 후 .cs 라는 확장자로 저장한다.

사용자 삽입 이미지
도스창에서 csc.exe 명령을 통해 컴파일한다.
만약 XML 도큐먼트 파일 생성을 원할 경우 ~>csc.exe Hello.cs /doc:myComment.xml 과 같이 /doc 문서옵션을 주어 컴파일을 한다.
사용자 삽입 이미지
생성된 실행파일 (hello.exe)를 실행한다.
사용자 삽입 이미지

C# Console Application Using VS.NET 2010

VC# Console Application Using VS.NET 2010

프로젝트 새로 만들기

사용자 삽입 이미지
메뉴에서 File->New->Project->Visual C# 템플릿->Console Application를 선택한 후 “프로젝트 이름(예를 들어, HelloWorld)”을 적고 확인버튼을 누른다.
사용자 삽입 이미지
기본적으로 생성된 Program.cs를 HelloWorld.cs로 바꾼다 .
코드 추가 – HelloWorld를 출력하는 routine을 추가한다.
사용자 삽입 이미지
컴파일(Build F7)과 실행(Start Without Debugging CTRL+F5) – 콘솔창에 Hello World!가 출력된다 .
사용자 삽입 이미지
Solution Explorer 에서 Project->Properties->Build 탭에서 XML 문서파일에 체크해서 컴파일하면 XML 도큐먼트 파일(bin/debug/HelloWorld.XML)이 자동으로 생성된다.
사용자 삽입 이미지