C# 소개

현재 나는 파이썬을 주로 다루고, C++을 아주 조금 찍먹 중이다.

하지만, 여러가지 이유로 언리얼이 아닌 유니티 과정을 듣게 되었고, 유니티에 사용되는 C#을 학습 할 필요가 생겼다.

내가 교육 받으며, 기존 사용하던 언어들과 다른 부분을 정리해 보려 한다.

C# 언어의 특징

  • 객체 지향 프로그래밍 언어.
  • 가비지 컬렉션강력한 형식 시스템 기능 제공
    • 가비지 컬렉션
      • 동적 할당된 메모리를 자동으로 회수해주는 기능.
      • 개발자가 메모리를 직접 할당하거나 해제하는 대신, .NET 프레임워크에서 가비지 수집기가 자동으로 메모리를 해제해준다.
    • 강력한 형식 시스템
      • 변수나 객체의 자료형이 미리 정의되어 있어, 데이터 타입에 대한 안전성과 정확성을 보장하는 시스템
  • C, C++ 등 다른 언어들과 문법 및 구조적으로 유사

.NET 프레임워크

.NET 프레임워크는 Microsoft에서 개발한 프로그래밍 플랫폼으로, 다양한 프로그래밍 언어를 지원하고, 손쉽게 애플리케이션을 개발할 수 있도록 도와준다.

프로그램을 빌드하고 실행하는 방법

빌드하기

  • 메뉴에서 Build > Build Solution
  • 단축키 Ctrl + Shift + B
  • 빌드가 성공적으로 완료되면 빌드 메세지를 확인 할 수 있다.

image-20250127092928466

실행하기

  • 메뉴에서 Debug > Start without Debug

  • 단축키 Ctrl + F5

  • 윈도우 애플리케이션인 경우, 애플리케이션 창이 열리고 프로그램 실행.

  • 콘솔 애플리케이션인 경우, 콘솔 창이 열리고 프로그램이 실행

image-20250127093050936

출력

Consol.WriteLine

  • C#에서 콘솔 출력을 할 때 사용된다.

  • 인수로 전달된 값을 출력하고 줄바꿈 문자열을 추가한다.

    Consol.WriteLine(value);
    

Consol.Write

  • 위와 같은 콘솔에 출력을 할 때 사용된다.

  • 인수로 전달 된 값을 출력하는것 까진 같지만, 줄바꿈 문자열을 추가하지 않는다.

    Consol.Write(value);
    

입력

Consol.ReadLine()

  • 콘솔에서 입력 받기 위해 사용한다.

  • 사용자가 입력한 값은 문자열로 반환한다.

    string input = Console.ReadLine();
    

다중 입력

Console.Write("Enter two numbers: ");
string input = Console.ReadLine();    // "1 2"과 같은 문자열을 입력받음

string[] numbers = input.Split(' ');  // 문자열을 공백으로 구분하여 배열로 만듦
int num1 = int.Parse(numbers[0]);     // 첫 번째 값을 정수로 변환하여 저장
int num2 = int.Parse(numbers[1]);     // 두 번째 값을 정수로 변환하여 저장

int sum = num1 + num2;                // 두 수를 더하여 결과를 계산

Console.WriteLine("The sum of {0} and {1} is {2}.", num1, num2, sum);

자동 완성

Tab

  • 코드를 작성하며 Tab 버튼을 활용하면, 자동 완성을 사용 할 수 있다.
  • 여러 자동 완성이 제공될 수 있으며, 그때는 방향 키로 선택 후 Tab을 한다.

Ctrl + Space

  • 타이핑 중 잘못된 입력으로 자동 완성이 종료 되었을 때, 다시 자동 완성을 호출한다.

매직 키워드

var 키워드

  • C# 3.0부터 var 키워드를 사용해 변수를 초기화 할 수 있다.
  • var을 사용해 변수를 선언하면 변수의 자료형이 컴파일러에 의해 자동으로 결정된다.
  • C++의 auto와 비슷해 보인다. (나중에 한번 정리를 해보겠다.)

태그: ,

카테고리:

업데이트:

댓글남기기