是否存在检查null的推荐方法(根据.net Framework准则),例如:
if (value == null)
{//code1}
else
{//code2}
或
if (value != null)
{//code2}
else
{//code1}
或者这两个代码具有相同的性能?
答案 0 :(得分:15)
两个选项的表现都相同。
你应该使用语义上有意义的,或者使用更清晰的代码
例如,如果非null操作较短,则将该块放在第一位是有意义的,这样else
就会接近if
。
答案 1 :(得分:11)
没有性能差异,因此您应该努力提高可读性。
例如,在if
分支中放置更“常规”的路径,并将“例外”路径放在else
分支中通常是个好主意。
答案 2 :(得分:4)
表现没有区别。我个人把更常见的情况放在最前面,而else
分支中不常见的情况,但这只是偏好。这使我更容易看到更常见的情况。
答案 3 :(得分:2)
没有性能差异。根据您的需要使用它们(可读性/可用性视角)。 最合适/最常用的块位于if
,可选/辅助块位于else
。
答案 4 :(得分:0)
两者都相同..为了便于阅读,您可以将代码块放在IF中,结果为true。在这种情况下,IF(值!= null)更易读和明显:)