我知道这是一个主观问题,所以如果需要关闭它,我深表歉意,但我觉得它经常出现,让我想知道是否普遍偏爱一种形式而不是另一种形式。
显然,最好的答案是“重构代码,这样你就不需要测试是否存在错误”,但有时没有简单的方法可以做到这一点,“else”分支只是继续处理。所以当你必须有一个“if not false”结构时,这是首选标准:
非运算符
if (!value)
或假的测试
if (value == false)
最佳答案
if (!value)
更容易/更快地遵循。正如你所说的主观。只要您始终如一,这就是主要的事情。
编辑
要补充的另一点 - 省略 true/false 关键字也应该(希望)强制编码人员使用更好命名的变量。 Bool 变量应始终指示含义或状态目的,例如:
if (MyWallet.IsEmpty)
上面没有理由使用 == false
或 == true
因为它是多余的。以上是人类可立即阅读的。
比破译好得多:
if (MyWallet.EmptyStatus == true)
或类似这样的可笑内容。
关于c# - : if(! 值) 或 if(flag == 值) 哪个更清晰?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2977365/