好的,我们知道以下两行是等价的 -
(0 == i)(i == 0)此外,过去鼓励使用第一种方法,因为如果您不小心使用'='而不是'==',那么编译器就会给出错误消息.
我的问题是 - 在今天的一代漂亮的IDE和智能编译器中,你还推荐第一种方法吗?
特别是,当我看到以下代码时,这个问题突然出现在我脑海中 -
if(DialogResult.OK == MessageBox.Show("Message")) ...
Run Code Online (Sandbox Code Playgroud)
在我看来,我绝不会推荐上述内容.任何第二意见?
我是一名中级C程序员.如果您之后发现任何编码错误,那么它对整个应用程序来说是最危险/最有害的,请分享该代码或说明.我想知道这一点,因为将来我可能会遇到这样的情况,我希望得到你的建议,以避免这样的错误.
我遇到了一些代码,这些代码翻转了如何检查条件,并想知道为什么除了一个奇怪的个人怪癖之外还要做这件事.我从未见过任何教科书使用它,也没有看到任何样本代码以这种方式完成.
// why do it this way?
if (5 == myValue)
{
// do something
}
// instead of:
if (myValue == 5)
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
我只是为==操作数看到了这种方式,但没有看到任何其他操作数.
可能重复:
如何检查等于?(0 == i)或(i == 0)
为什么人们经常在C#中看到"null!= variable"而不是"variable!= null"?
为什么一些有经验的程序员会这样写表达式?
在C++中NULL!= value是什么意思?
例如,
int k =5;
if( 5 == k )
{
}
Run Code Online (Sandbox Code Playgroud)
比...更受欢迎
if (k == 5)
{
}
Run Code Online (Sandbox Code Playgroud)
是仅考虑格式化目的还是有任何原因?