【发布时间】:2014-09-23 10:10:00
【问题描述】:
我有以下代码 sn-p。
bool b = false;
if (b) {}
但我看到很多人写过类似的东西:
if (true == b){}
它们在我看来都一样,这里有什么区别吗?
【问题讨论】:
-
是的,第二个是先计算一个布尔值是否等于另一个布尔值,然后在结果上应用 if 语句......当然编译器可能首先删除这一步
-
顺便说一句,我相信好的做法是写 if (b) 或 if (b != false) - 如果是 bool 类型, if (b == true) 肯定也可以,但仅从历史原因(在 C 中,当 true 通常简单地定义为“非 0”时)在我看来有点“更干净”......但同样,在 C# 中,if (b == true) 肯定是好的,如果 b 保证它是 bool
-
一切都与可读性和程序员的风格有关