1

为什么这打印出来的不是真的?

>         Dim test1 As Decimal? = Nothing
>         Dim test2 As Decimal? = 5D
> 
>         If (test1 <> test2) Then
>             Console.WriteLine("true")
>         End If
4

3 回答 3

4

与 C# 不同,不等于运算符对此不起作用。相反,使用Nullabe.Equals()

Dim test1 As Decimal? = Nothing
Dim test2 As Decimal? = 5D

If (Nullable.Equals(test1, test2) = False) Then
    Console.WriteLine("not equal")
Else
    Console.WriteLine("equal")
End If
于 2012-09-26T23:19:18.753 回答
0

将值与空值进行比较通常会返回False.

无法比较这些值,因为缺少值,因此=and<>运算符都会返回False

于 2012-09-26T23:18:25.123 回答
0

我想到了。我需要去做

IF(不是 test1.Equals(test2))

于 2012-09-26T23:18:29.600 回答