我试图nullable(of boolean)在VB.NET 2010中比较两个类型的变量.其中一个变量的值为False,另一个变量为Nothing.现在我期待以下表达式评估为true,但事实并非如此:
Dim var1 as nullable(of boolean) = False
Dim var2 as nullable(of boolean)
var2 = Nothing
If var1 <> var2 Then
msgbox "they are different"
End If
Run Code Online (Sandbox Code Playgroud)
为什么我看不到我的MsgBox?我应该如何比较两个nullables(布尔值)?
Ale*_* K. 24
你可以使用Nullable.Equals:
指示两个指定的对象是否相等.
Nullable(Of T)
If Not Nullable.Equals(var1, var2) Then
MsgBox("they are different")
End If
Run Code Online (Sandbox Code Playgroud)
这是因为在 VB.NET 中
Console.WriteLine(False = Nothing)
Run Code Online (Sandbox Code Playgroud)
打印True。
这与可空性无关。