?.연산자는 앞에 있는 변수가 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 의 함수를 실행하지않고 넘어간다 이거좀좋네
'C#' 카테고리의 다른 글
[c#] Dataset 압축(Dataset Compress) (0) | 2017.03.02 |
---|---|
[C#] 자동 업데이트 구현 (0) | 2017.02.09 |
[c#] 비밀번호 입력을 알파벳, 숫자, 특수문자로 제한하기 (0) | 2017.01.18 |
[c#] richtextbox에서 글 입력시 자동스크롤 하기 (0) | 2017.01.13 |
[c#][EXCEL] Microsoft.Jet.OLEDB.4.0 를 이용한 Excel 엑셀 파일 읽기시 주의사항 (0) | 2016.10.24 |