if语句和null检查的位置

时间:2016-05-04 14:52:41

标签: c#

我总是被教导将你正在检查的变量放到左侧示例

First line.
Second line.
Third line.

虽然技术上不是不正确的

if (myvariable == null)

你有没有任何程序化的原因?

2 个答案:

答案 0 :(得分:0)

假设你忘了==并写=。在这种情况下,将编译x = 5,但是5 = x not。

答案 1 :(得分:-2)

我的第一任老板过去常常坚持将null放在左侧。他的论点是,有一天你会遗漏一个=,并且可能节省很多时间进行调试,因为你不能指定为null,所以它会抛出一个错误。

考虑以下c#

var y = false;
var x = y = true;
// y = true, x = true.

var y = false;
var x = y == true;
// x = false, y = false

这两者最终都有不同的y和x值,但是当你想要另一个时,很容易输入一个。但是,如果您习惯将常量值放在运算符的左侧,则会出现编译错误。

var x = true = y; // won't compile
var x = true == y; // will compile

另外,如果你用vb和c#写很多,vb只有1等于比较,所以如果你用两种语言编码肯定是个好主意,因为你可以复制并粘贴一些代码然后突然什么是比较现在正在分配。