被比较的项目的顺序?

klk*_*ens 1 comparison multilingual

我已经看过这个,但从来没有听说过为什么......这真的适用于任何语言,而不仅仅是C#或VB.NET或Perl等等.

比较两个项目时,有时"检查"值放在左侧而不是右侧.从逻辑上讲,您首先列出变量,然后列出您要比较的值.但我已经看到了相反的情况,其中"常数"首先列出.

这种方法有什么(如果有的话)增益?

所以代替:

if (myValue > 0)
Run Code Online (Sandbox Code Playgroud)

我见过:

if (0 < myValue)
Run Code Online (Sandbox Code Playgroud)

要么

if (Object.GimmeAnotherObject() != null)
Run Code Online (Sandbox Code Playgroud)

替换为:

if (null != Object.GimmeAnotherObject())
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

TIA!凯文

sam*_*moz 8

一些开发人员将常量放在左边

if(0 = myValue)
Run Code Online (Sandbox Code Playgroud)

这是因为您将从编译器中获得错误,因为您无法为0分配值.相反,您必须将其更改为

if(0 == myValue)
Run Code Online (Sandbox Code Playgroud)

这可以防止在打字之后进行大量痛苦的调试

if(myValue = 0)
Run Code Online (Sandbox Code Playgroud)

是完全合法的,但很可能是你的意思

if(myValue == 0)
Run Code Online (Sandbox Code Playgroud)

第一选择不是你想要的.它将巧妙地改变你的程序,并引起各种令人头疼的问题.希望澄清一下!