我今天整形器安裝在我的電腦上檢查出來,每當我有以下我的代碼語句我從ReSharper的得到的信息是比較Null
是沒有必要的。爲什麼?if語句是關鍵字和比較爲null
這是結:
if (dataGrid.ItemsSource != null && dataGrid.ItemsSource is DataGridCollectionView)
我檢查,如果該類型是一個我希望它是,如果該值不Null
。
這是有道理的,我問這是因爲雖然值可能仍Null
類型可能是真實的。我想我必須在關於這方面的文檔中丟失一些東西。
爲什麼重塑者說我不需要比較爲null?
我錯過了什麼?
所做的是關鍵字總是返回false當空?這是記錄在某處嗎? –
是的,[是(C#參考)](http://msdn.microsoft.com/en-us/library/scekt9xw(v = vs.90).aspx):*如果提供的表達式是an表達式,則返回true是**非空**,並且.... * –
是的,當值爲空時它總是返回false,因爲null不是任何類型的實例。請參閱http://msdn.microsoft.com/en-us/library/scekt9xw.aspx:*如果提供的表達式爲非空**,則表達式的計算結果爲真**,並且所提供的對象可以轉換爲提供的類型不會導致異常拋出。* –