[Unity] Ch3. C#

Kim Yuhyeon·2022년 9월 30일
0

게임개발

목록 보기
59/135

C#


C#?

변수 타입

Syntax

type 변수이름 = 값;

형변환

C# 구문

using System;

namespace HelloWorld
{	
	class Program
    {
    	static void Main(string[] args)
        {
        	Console.WriteLine("Hello World");
        }
    }
}

주석

주석 안에 변경 내용도 업데이트 해주어야 한다.

연산자

산술 연산자

할당 연산자

비교 연산자

논리 연산자

조건문

if ~ else if ~ else

switch

열거형

public enum Season
{
  Spring,
  Summer,
  Autumn,
  Winter
}
public class EnumConversionExample
{
  publicstaticvoidMain()
  {
    Season a=Season.Autumn;
    Console.WriteLine($"Integral value of {a} is {(int)a}");
    //output : Integral value of Autumn is 2
          			    
    var b = (Season)1;
    Console.WriteLine(b); //output: Summer
    var c = (Season)4;
    Console.WriteLine(c); //output: 4
  }
}

이넘 플래그

반복문

for

foreach

while

do ~ while

함수

함수 오버로딩


위의 타입이 다르지만 기능이 같은 함수를 오버로딩하면 아래처럼 됨

그러나 오버로딩은 실수할 여지가 많아 잘 사용하지 않고,
직관적으로 위에 처럼 하거나 제너릭을 많이 이용

ref

레퍼런스 타입

out

ref와 동일

out의 경우 어떤 값이라도 꼭 할당을 해야하지만 ref는 하지 않아도 무방

string 문자열

정말정말 많이 쓴다
UI출력 등..

Contains

IndexOf

문자열 더하기

Trim

ToLower, ToUpper

Replace

Split

Substring

Format

IsNullOrEmpty

배열

다차원 배열

인덱스로 바로 접근할 수 있어 빠름

힙, 스택

new로 만든 객체들이 저장


new는 하지만 delete는 하지 않는다
-> Garbage Collector 때문
필요없는 메모리를 자동으로 해제
단점 : 해제하는 과정에서 가끔씩 멈칫 멈칫 픽이 튄다
극복 : 힙 영역을 한번에 많이 할당

스택



리스트

삽입

삭제

크기, 비우기

딕셔너리

선언, 추가

값 가져오기

삭제, 검색

탐색

접근한정자

구조체

프로퍼티

Value type, Reference type

Value type

Reference type

null type

static

확장 메소드

연산자 오버로딩

생성자

소멸자

상속 관계

0개의 댓글