오늘 Reshaper를 내 PC에 설치하여 체크 아웃했습니다. 코드가 다음과 같을 때마다 Resharper에서 Null
과 비교하면 정보가 필요하지 않습니다. 왜? 유형 I이 원하는 사람이고 값이 Null
이 아닌 경우 만약 내가 확인하고If 문이 키워드이고 Null과 비교되는 경우
if (dataGrid.ItemsSource != null && dataGrid.ItemsSource is DataGridCollectionView)
:
이
는 문입니다.값이 여전히 Null
이긴하지만 형식이 맞을 수 있으므로이 질문을하는 것이 좋습니다. 나는 이것에 관한 문서에서 뭔가를 놓쳐 버린 것 같아.
왜 Reshaper는 null과 비교할 필요가 없다고 말합니까?
무엇이 누락 되었습니까?
null이면 IS 키워드가 항상 false를 반환합니까? 이것이 어딘가에 기록되어 있습니까? –
예, [is (C# Reference)] (http://msdn.microsoft.com/en-us/library/scekt9xw (v = versus90) .aspx) : * 제공된식이 참이면 true가됩니다. ** non-null **이고 .... * –
예, 값이 null이면 null을 반환합니다. null은 모든 유형의 인스턴스가 아니기 때문에 항상 false를 반환합니다. http://msdn.microsoft.com/en-us/library/scekt9xw.aspx를 참조하십시오. * 제공된 표현식이 null이 아닌 경우 ** is 표현식이 true로 평가되고 제공된 객체는 예외가 throw되지 않고 제공되는 유형 * –