C#
널(null) 초기화 (연산자 ??)
휘프노스
2016. 3. 22. 17:34
데이터베이스관련 프로그래밍을 할일이 별로 없어서 그런지 이 연산자를 자주 사용하지 않아서 볼때마다 새롭게 느껴진다.
나중을 위해 참고용으로 기록해 둔다.
?? (물음표 두개) 연산자는 널 초기화 연산자이다.
간단하게 코드로 설명하면
string s1 = null;
string s2 = s1 ?? "1: null";
System.Diagnostics.Debug.WriteLine(s2);
s1 = "abc";
s2 = s1 ?? "2: null";
System.Diagnostics.Debug.WriteLine(s2);
간단하게 구성한 위의 소스코드를 실행하면
출력은
-----
1: null
abc
-----
와 같이 출력되게 된다.
관련해서
타입 선언시 ? 를 사용하면 nullable로 사용할 수 있다.
예를 들어
int? i = null;
과 같이 사용하면 널을 지원하지 않는 데이터타입이라도 널지원이 가능하도록 사용할 수 있다.
=====
관련 MSDN
https://msdn.microsoft.com/ko-kr/library/2cf62fcy.aspx