나만의 작은 도서관

[C#] 문법 정리 #1. 기본 구조과 입출력(+리터럴) 본문

Unity/문법 및 메소드(System)

[C#] 문법 정리 #1. 기본 구조과 입출력(+리터럴)

pledge24 2024. 11. 20. 15:16

기본 구조

C# 스크립트의 기본 구조은 다음과 같다. 

// CSharpWorkspace폴더 내에 생성한 Program.cs파일
using System;

namespace CSharpWorkspace
{
  class Program
  {
    static void Main(string[] args)
    {
    	// Code....
        // 
        //
    }
  }
}

 

using Syetem

  • C#에서 기본적으로 제공하는 namespace인 System을 가져온다. using을 통해 namespace를 가져오게되면 해당 namespace에 정의된 클래스와 기능들을 사용할 수 있다.

namespace [폴더 이름]

  • namespace는 코드의 논리적인 그룹을 정의하기 위해 사용한다. 같은 이름으로 클래스를 정의했을 때 각 클래스를 식별하기 위해 namespace를 사용한다. 코드 생성 시 namespace 이름은 코드를 생성한 위치의 폴더이름을 따라간다.

class [C# 파일이름]

  • C# 클래스를 정의하는 키워드다. 클래스 이름은 C# 파일이름을 따라간다.

static void Main(string[] args)

  •  프로그램의 진입점(entry point)을 의미한다. Main 메서드는 프로그램 시작 시 자동으로 호출되며, 프로그램 실행 시 반드시 필요하다. 프로그램 실행 시 넘겨주고 싶은 데이터가 있는 경우, 문자열로 넘겨줄 수 있도록 string[] args 매개변수가 존재한다.

입출력

출력: Console.WriteLine()

출력을 하고 싶다면 Console.WriteLine() 사용한다. 문자열 내에 변수를 넣어 출력하고 싶다면 복합 리터럴인 "$"를 사용하면 된다.

Console.WriteLine("Hello World!"); 

int age = 25;
Console.WriteLine($"Age is {age}"); 

// [출력 결과]
// Hello World!
// Age is 25

 

출력 후에도 줄이 바뀌는 것을 원하지 않는다면 Console.Write()를 사용하면된다.

Console.Write("Hello ");
Console.Write("World!");

// [출력 결과]
// Hello World!

 

입력: Console.ReadLine()

입력은 Console.ReadLine()을 사용한다. Console.ReadLine()은 단 한 줄만 입력받기 때문에 여러줄을 입력받고 싶다면 Console.ReadLine()을 반복적으로 호출해야한다.

string input = Console.ReadLine(); // Hello World! 입력
Console.Write(input);

// [출력 결과]
// Hello World!

리터럴(Literal)

리터럴은 프로그램에서 직접 사용하는 상수 값으로, 소스 코드에 직접 기록되어 있는 값이다. 컴파일러에서 상수 값으로 처리되며, 변수나 상수에 할당하거나 연산에 사용한다. 다음은 리터럴 종류 중 일부이다.

 

정수형 리터럴

10 int
0x19 16진수
0b10 2진수
10L long
10UL unsigned long

 

실수형 리터럴

3.14 double
3.14f float
3.14m decimal

 

+) 알아두면 좋은 리터럴

10e9 10^9 (double)

 

문자 / 문자열 리터럴

'A' char
'\n' 제어 문자
'\u0022' 유니코드 문자
"Hello, World!" string
@"C:\Users\Example"  이스케이프 문자 무시
\" 문자열 안에 " 출력
\' 문자열 안에 ' 출력