[C#] ?. 연산자. (null check)

C# 2017. 1. 24. 10:51

?.연산자는 앞에 있는 변수가 null이라면 null을 반환하고 아니라면 선택한 값을 반환한다.



            if (e != null && e.View != null && e.View.IsDetailView)
            {
                (e.View.ParentView as GridView).FocusedRowHandle = e.View.SourceRowHandle;
            }


위의 코드에서 e.View.IsDetailView에 접근하기 위해서 e != null, e.View != null 를 &로 묶어서 선행 확인 하였다.

하지만 C#에선 그럴 필요가 없었다.



            if (e?.View?.IsDetailView == true)
            {
                (e.View.ParentView as GridView).FocusedRowHandle = e.View.SourceRowHandle;
            }


e나 View가 null이라면 null을 리턴하기 때문에 null != true이므로 null이거나 IsDetailView가 False라면 조건문을 실행하지 않을 것이다.

편하다!



출처: http://chhyun.tistory.com/48 [Repo]






글쓴이 첨부


ex -->   dtTest?.Clear();     

//설명 : dtTest 의 객체가 NULL 이면 clear 의 함수를 실행하지않고 넘어간다   이거좀좋네 






Posted by 요지
,