考虑以下VB.NET代码:
Sub ObjectTest()
Dim active As Object = Nothing
If active = False Then
Console.WriteLine("false")
End If
If active = True Then
Console.WriteLine("true")
End If
If active = Nothing Then
Console.WriteLine("nothing")
End If
End Sub
我在控制台上获得的输出是
false
nothing
这意味着
If active = False
正在成功。怎么会这样? active被设置为nothing,那怎么可能是假的?这不是假的,没什么。我们知道这是因为
If active = Nothing
条件成功。
顺便提一下,如果我将代码更改为:
Sub ObjectTest()
Dim active As Object = vbnull
If active = False Then
Console.WriteLine("false")
End If
If active = True Then
Console.WriteLine("true")
End If
If active = vbnull Then
Console.WriteLine("null")
End If
End Sub
我得到的唯一输出是“null”显然在VB.NET中,“nothing”并不意味着“null”
导致条件认为活跃的原因是否等于假?