If Object.Value IsNot "Something" Then
Run Code Online (Sandbox Code Playgroud)
你可以这样做,还是在某些情况下它不起作用?不确定这是否只应用于整数和布尔值.
谢谢!
我不确定这是否有效,但如果确实如此,那么使用它将是一个非常糟糕的主意.VB.Net中的Is和IsNot运算符进行参考比较.在处理String值时,您几乎总是希望通过=和进行值比较<>.
参考比较会告诉您它是否真正指向同一个对象.在.Net中,很可能在2个对象中捕获相同的相同字符串,从而允许混淆如下情况
Function CreateFoo() As String
return "foo"
End Function
Dim str1 = "foo"
Dim str2 = CreateFoo()
if str1 Is str2 Then
' This is possible
Else
' This is also possible
End If
Run Code Online (Sandbox Code Playgroud)
价值比较在这里提供了更多的理智
Dim str1 = "foo"
Dim str2 = CreateFoo()
if str1 = str2 Then
' This will run
Else
' This is simply not possible
End If
Run Code Online (Sandbox Code Playgroud)