爲什麼這不打印出來是真的?Visual Basic可爲空值類型等於
> Dim test1 As Decimal? = Nothing
> Dim test2 As Decimal? = 5D
>
> If (test1 <> test2) Then
> Console.WriteLine("true")
> End If
爲什麼這不打印出來是真的?Visual Basic可爲空值類型等於
> Dim test1 As Decimal? = Nothing
> Dim test2 As Decimal? = 5D
>
> If (test1 <> test2) Then
> Console.WriteLine("true")
> End If
我想通了。我需要做的
IF(不test1.Equals(測試2))
將值與空值進行比較通常會返回False
。
無法比較這些值,因爲其中一個值不足,所以=
和<>
運算符將返回False
。
這是關於VB如何工作的真實聲明,但在C#!=中將返回True。不協調和混亂。 – Mike
與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
接受你的答案,如果它是正確的。 – Yatrix