?. 연산자 (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


+ Recent posts