相关疑难解决方法(0)

在PHP中为Null vs. False与0

有人告诉我,好的开发人员可以当场/使用之间的区别Null,并False0所有的其他的好"一无所有"的实体.
什么区别,特别是在PHP?它与之有关===吗?

php null

144
推荐指数
5
解决办法
12万
查看次数

哪个更快:if(bool)还是if(int)?

哪个值更好用?布尔值是真还是整数1?

上面的话题让我做一些实验与boolintif状态.所以出于好奇我写了这个程序:

int f(int i) 
{
    if ( i ) return 99;   //if(int)
    else  return -99;
}
int g(bool b)
{
    if ( b ) return 99;   //if(bool)
    else  return -99;
}
int main(){}
Run Code Online (Sandbox Code Playgroud)

g++ intbool.cpp -S 为每个函数生成asm代码,如下所示:

c++ int assembly boolean

90
推荐指数
6
解决办法
4万
查看次数

我应该使用`!IsGood`还是`IsGood == false`?

我一直看到像这样检查的代码

if (IsGood == false)
{
   DoSomething();
}
Run Code Online (Sandbox Code Playgroud)

或这个

if (IsGood == true)
{
   DoSomething();
}
Run Code Online (Sandbox Code Playgroud)

我讨厌这种语法,并始终使用以下语法.

if (IsGood)
{
   DoSomething();
}
Run Code Online (Sandbox Code Playgroud)

要么

if (!IsGood)
{
   DoSomething();
}
Run Code Online (Sandbox Code Playgroud)

有没有理由使用' == true'或' == false'?

这是一个可读性的东西吗?人们只是不了解布尔变量?

另外,这两者之间是否有任何性能差异?

language-agnostic boolean not-operator

46
推荐指数
12
解决办法
5296
查看次数

C#if语句.内部运作问题

我刚刚在一些Exchange 2010代码中遇到过这段代码片段,我想知道是否有人知道程序员为什么这样做了.我从未见过像这样格式化的If语句.它看起来如此倒退必定有一个很好的理由吗?

if (true == MsgItem.HasAttachments)
{
    // Code
}
Run Code Online (Sandbox Code Playgroud)

我假设它可能会对编码相同内容的各种其他方式进行一些优化;

if (MsgItem.HasAttachments) 
{
    // Code
}
Run Code Online (Sandbox Code Playgroud)

要么

if (MsgItem.HasAttachments == true)
{
    // Code
}
Run Code Online (Sandbox Code Playgroud)

这不是什么大不了我只是好奇.

谢谢,迈克

更新:感谢所有有趣的观点.摘要似乎归结为传统编码标准.

c#

13
推荐指数
4
解决办法
1825
查看次数

标签 统计

boolean ×2

assembly ×1

c# ×1

c++ ×1

int ×1

language-agnostic ×1

not-operator ×1

null ×1

php ×1