C# 기본 문법(Generic,Assert)

로젠·2024년 4월 24일
0

게임 프로그래밍

목록 보기
19/49
post-thumbnail

Generic

어떤한 자료형이든 상관없이 변수를 받을 수 있는 것으로. Generic을 사용한 함수나 클래스를 호출할 때 원하는 자료형을 준다.

private void Swap<T>(ref T a, ref T b)
{
    T temp = a;
    a = b;
    b = temp;
}
private void Start()
{
    int val1 = 10;
    int val2 = 20;
    Swap<int>(ref val1, ref val2);
    print($"val1 = {val1}, val2 = {val2}");
    string val3 = "abc";
    string val4 = "defg";
    Swap<string>(ref val3, ref val4);
    print($"val3 = {val3}, val4 = {val4}");
}

val1 = 20, val2 = 10
val3 = defg, val4 = abc

General을 이용해 스택 만들기

class Stack<T>
{
   private int top = 1;
   private T[] values;
   public const int MaxCount = 10;
   public Stack()
   {
       values = new T[MaxCount];
   }
   public void Push(T value)
   {
       Debug.Assert(top + 1 < MaxCount);
       values[++top] = value;
   }
   public T Pop()
   {
       Debug.Assert(Empty() == false);
       return values[top--];
   }
   public bool Empty()
   {
       return top < 0 ? true : false;
   }
}

Assert

예외 처리로 해당 조건에 맞지 않으면 정해진 메시지를 출력시킨다. Assert를 사용하면 어느부분에서 어떤 오류가 생기는지 알기 쉽다.

0개의 댓글