2012-08-09 33 views
0

最近我注意到,當我們已經在我們的.NET代碼在做字符串比較,我們一直對維護空引用。這種檢查似乎VB.NET不必要的,因爲它重載了平等的經營者和執行對於我們這種空裁判檢查。你們都同意嗎?String.IsNullOrEmpty()

請參見下面的例子:

 Dim myStringVariable As String 

     ' Unnecessary in VB.NET 
     If myStringVariable Is Nothing OrElse myStringVariable = "" Then 
     End If 

     ' Unnecessary in VB.NET 
     If String.IsNullOrEmpty(myStringVariable) Then 
     End If 

     ' This will work 
     If myStringVariable = "" Then 
     End If 

     ' Also acceptable if you don't like using hard coded constants 
     If myStringVariable = String.Empty Then 
     End If 

回答

3

具體平等的測試,你可能是正確的。然而,平等測試並不是你用字符串做的唯一的事情。

我沒有做太多VB.Net,但我強烈懷疑

myStringVariable.Length 

將炸燬如果myStringVariable爲null,呃......沒什麼。

0

你說得對,結合所有這些檢查是海拉多餘的。

爲什麼不是簡化爲簡單:

If String.IsNullOrEmpty(myStringVariable) Then 
    ' do whatever 
End If 
3

這是從來沒有必要要明確你在做什麼。如果有人誰正在處理您的代碼讀取String.IsNullOrEmpty他們知道你的意思是把空和空一樣。

如果有人正在處理您的代碼,請閱讀myStringVariable = String.Empty,他們不得不懷疑您是否打算以相同的方式處理空值和清空,或者您是否進行了疏漏。

相關問題