VB.NET没有评估为False

时间:2017-10-04 14:09:17

标签: vb.net

考虑以下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”

导致条件认为活跃的原因是否等于假?

0 个答案:

没有答案