string.empty和isNullOrEmpty之间的区别?

时间:2013-03-14 15:42:28

标签: .net vb.net

我有以下简短的代码,它永远不会返回字符串“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

3 个答案:

答案 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针对空值提供额外的安全性,否则您的代码将失败