c# - : if(! 值) 或 if(flag == 值) 哪个更清晰?

标签 c# not-operator

我知道这是一个主观问题,所以如果需要关闭它,我深表歉意,但我觉得它经常出现,让我想知道是否普遍偏爱一种形式而不是另一种形式。

显然,最好的答案是“重构代码,这样你就不需要测试是否存在错误”,但有时没有简单的方法可以做到这一点,“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/

相关文章:

javascript - "!--"在 JavaScript 中做了什么?

c - 为什么这种按位右移似乎不起作用?

excel - 无限For...下一个循环: how do I fix it?

c# - 在 C# 中转换为泛型类型失败

c# - 将 Javascript JSON 转换为 .NET 整数数组

c# - 将秒表与异步方法一起使用

c# - 接口(interface)成员的属性不起作用

javascript - 生成包含 jquery 的网页