C# ?? 연산자
[제목] C# ?? 연산자
SQL Server에 COALESCE() 라는 함수가 있다. 이 함수는 함수 파라미터들이 NULL이 아닐 때까지 계속 체크를 해서 NULL이 아닌 파라미터의 값을 리턴한다.
예를 들어, COALESCE(a,b,c,d,'0') 이 있을 때 만약 a, b가 NULL이고 c가 NULL이 아니면 c의 값을 리턴한다.
이를 C# 으로 구현하면 어떻게 될까?
C# if 문을 사용하면 다음과 같이 될 것이다.
if (a != null) return a; else if (b != null) return b; else if (c != null) return c; else if (d != null) return d; else return "0";
이를 좀 더 간략하게 만들길 원한다면 C#의 ? 연산자를 사용할 수 있다.
return a != null ? a : b != null ? b : c != null ? c : d != null ? d : "0";
그리고 조금 더 생각해 보면, C#의 ?? 연산자 (Null-coalescing operator)를 사용하여 이렇게 간략하게 할 수도 있을 것이다.
return a ?? b ?? c ?? d ?? "0";
참고 : C#의 ?? 연산자는 C# 2.0 이상에 지원한다.
(http://www.csharpstudy.com/CSharp/CSharp-operator.aspx)
본 웹사이트는 광고를 포함하고 있습니다. 광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.