在C#中获得相同表达式的不同结果

c#

从更改!= true== false我认为完全相同的结果时,我得到了不同的结果。

这是我的代码

User user = await GetUser(id);

if (user == null || user.Orders?.Any() != true)
{
    ...
}

如果我更改为user.Orders?.Any() == true某些测试会返回不同的数据。为什么?

回答

因为user.Orders?.Any()bool?类型,因为'?' 命令后。所以,如果user.Ordersnull,那么结果user.Orders?.Any()将是null== true将是错误的,而!= false会是真实的


以上是在C#中获得相同表达式的不同结果的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>