C#2 (C#) if문에서의 null 체크와 null 연산자의 차이 public class EventSource { private EventHandler Updated; public void RaiseUpdates() { ... } private int counter; } 위와 같은 클래스가 있고, RaiseUpdates시 counter를 증가시키고, Updated 이벤트를 호출한다고 생각해보자. public void RaiseUpdates() { counter++; if(Updated != null) { Updated(this, counter); } } 그냥 Updated를 호출하면 null이면 Exception이 발생하기 때문에, null 체크를 해주는게 안전하다. 1. if 문으로 Updated의 null을 검사하거나 2. null 연산자를 이용하거나 두 가지의 방.. 2022. 8. 6. (C#) Generic Method 에서 null return 하는 방법 public static T FindType() { /* * Find T type in specific container */ return null; } 위와 같은 T type에 대한 Generic Method가 있다고 생각해보자. T type에 대한 find가 성공할 경우 그 인스턴스를 반환, 실패할 경우 null을 반환하고 싶다. 그렇지만 T가 value type인지 reference type인지 알 수 없기 때문에 null return 부분에 에러가 뜨게 된다. 이걸 처리할 수 있는 방법이 3가지가 있다. 1. default(T) public static T FindType() { /* * Find T type in specific container */ return default(T); } def.. 2022. 7. 24. 이전 1 다음