【发布时间】:2018-10-09 01:30:28
【问题描述】:
我知道如果左操作数不为 null,则 null 合并运算符返回左操作数,但我没有看到有人在 if 语句中使用它,例如:
if (car.IsSold ?? false)
...
我猜这意味着如果 car.IsSold 不为空,则继续执行 if 语句,否则跳出语句。那正确吗?如果是,为什么程序员不应该使用
if (car.IsSold)
...
哪个做完全相同的事情? 如果有人为我解决这个问题,我将不胜感激。
【问题讨论】:
-
“IsSold”是否可以为空?
-
如果您想知道两者有何不同,请尝试两者,看看会发生什么。
-
@Masood:如果
IsSold是bool?,那么这将是编译代码所必需的。if条件必须解析为bool。 -
@Masood 你能解释一下为什么如果你想知道他们是否做了同样的事情,你不只是尝试一下吗?我很好奇....这是一段微不足道的代码,应该很容易测试出来看看会发生什么。
-
您可以轻松启动控制台应用程序,或使用 Linqpad 之类的工具来执行一些 C# 代码并查看它的作用。不应将 Stack Overflow 用作实际尝试研究正在发生的事情的替代品。
标签: c#