C#고급 주제

null 체크와 ?? 연산자

null 가능 값을 안전하게 처리할 때 가장 자주 쓰는 `?.`, `??`, `??=` 패턴을 빠르게 정리합니다.

마지막 수정 2026년 3월 15일

기본 패턴

csharp
string displayName = user?.Profile?.Nickname ?? "Guest";

settings.Theme ??= "light";

설명

  • 참조가 null일 수 있을 때 안전하게 속성에 접근하고 싶을 때
  • 기본값을 짧게 넣고 싶을 때
  • 값이 비어 있을 때 한 번만 초기화하고 싶을 때

빠른 정리

표현식의미
user?.Nameuser가 null이 아니면 Name 접근
value ?? fallbackvalue가 null이면 fallback 사용
value ??= fallbackvalue가 null일 때만 fallback 대입

주의할 점

??는 null만 검사합니다. 빈 문자열이나 0은 그대로 유효한 값으로 취급됩니다.