3

我有以下一小段代码,它永远不会返回字符串“selected”。

Protected Function SelectedType(ByVal val As String) As String
    If val <> String.Empty Then Return "selected"
End Function

但是,如果我将其更改为此,它会起作用。我上面的速记代码有什么问题吗?-谢谢

Protected Function SelectedType(ByVal val As String) As String
    If Not String.IsNullOrEmpty(val) Then
        Return "selected"
    End If
End Function
4

3 回答 3

4

String.Empty"",空是Nothing

您可以比较字符串是否为空,是否为空,或同时与IsNullOrEmpty ()

于 2013-03-14T15:44:38.573 回答
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
于 2013-03-14T15:48:53.297 回答
1

IsNullOrEmpty 提供针对空值的额外安全性,否则您的代码将失败

于 2013-03-14T15:44:01.440 回答