?. 연산자 (null 조건부 연산자)
null 조건 연산자는 ? 앞에 있는 객체가 NULL인지 체크해서
1. NULL 이라면, NULL을 리턴.
2. NULL이 아니라면, ? 다음의 속성이나 메서드를 실행.
일반적으로 ?. 와 같이 표현되지만, 만약 인덱서 혹은 배열 요소에 적근할 경우는 ?[]와 같이 표현된다.
1 2 3 4 5 6 7 8 9 | // customer 컬렉션이 null 이면 cnt는 null // null이 아니라면, cnt는 customer의 갯수. int? cnt = customer?.Count; // customer가 null인지 체크하고 // 다시 customer[0]가 null인지 체크한다. // customer이 null이거나 customer[0]이 null이라면 age는 null // 그렇지 않다면, age는 customer[0].age int? age = customer?[0]?.age; | cs |
null 조건부 연산자를 사용하면 null 참조될 수 있는 객체에 안전하게 접근할 수 있으며,
null에 대한 예외 처리를 축약해서 개발자의 의도를 표현할 수 있다.
참 고: http://www.csharpstudy.com/CS6/CSharp-null-conditional-operator.aspx
'언어 > C#' 카테고리의 다른 글
[C#] delegate(델리게이트) (0) | 2019.03.26 |
---|---|
[C#] nullable 형식 한정자 (0) | 2018.11.07 |
[C#] ?? 연산자 (null 병합 연산자) (0) | 2018.11.07 |
[C#] 사용자 정의 형변환 - explicit, implicit (0) | 2018.10.16 |
[C#] 선택적 매개 변수와 명명된 매개 변수 (0) | 2018.09.27 |