我有以下简短的代码,它永远不会返回字符串“selected”。
Protected Function SelectedType(ByVal val As String) As String
If val <> String.Empty Then Return "selected"
End Function
但是,如果我将其改为此,则可行。上面的速记代码有什么不对吗? -Thanks
Protected Function SelectedType(ByVal val As String) As String
If Not String.IsNullOrEmpty(val) Then
Return "selected"
End If
End Function
答案 0 :(得分:3)
String.Empty
为""
,null为Nothing
。
你可以比较一个字符串是否为空,如果它是空的,或者两者同时与IsNullOrEmpty ()
答案 1 :(得分:3)
当您致电If Not String.IsNullOrEmpty(val) Then
时,您正在检查该值是否等于String.Empty
或该值是否等于Nothing
。
这更像是将第一个例子写成:
Protected Function SelectedType(ByVal val As String) As String
If val <> Nothing And val <> String.Empty Then
Return "selected"
End If
End Function
答案 2 :(得分:1)
IsNullOrEmpty针对空值提供额外的安全性,否则您的代码将失败