检查null,== null vs!= null

时间:2012-11-27 03:11:21

标签: c# .net

是否存在检查null的推荐方法(根据.net Framework准则),例如:

if (value == null)
{//code1}
else
{//code2}

if (value != null)
{//code2}
else
{//code1}

或者这两个代码具有相同的性能?

5 个答案:

答案 0 :(得分:15)

两个选项的表现都相同。

你应该使用语义上有意义的,或者使用更清晰的代码 例如,如果非null操作较短,则将该块放在第一位是有意义的,这样else就会接近if

答案 1 :(得分:11)

没有性能差异,因此您应该努力提高可读性。

例如,在if分支中放置更“常规”的路径,并将“例外”路径放在else分支中通常是个好主意。

答案 2 :(得分:4)

表现没有区别。我个人把更常见的情况放在最前面,而else分支中不常见的情况,但这只是偏好。这使我更容易看到更常见的情况。

答案 3 :(得分:2)

没有性能差异。根据您的需要使用它们(可读性/可用性视角)。 最合适/最常用的块位于if,可选/辅助块位于else

答案 4 :(得分:0)

两者都相同..为了便于阅读,您可以将代码块放在IF中,结果为true。在这种情况下,IF(值!= null)更易读和明显:)