有没有推荐的方法检查空,例如(根据.NET框架准则):检查空,== NULL VS = NULL
if (value == null)
{//code1}
else
{//code2}
或
if (value != null)
{//code2}
else
{//code1}
或者这两个代码具有相同的性能?
有没有推荐的方法检查空,例如(根据.NET框架准则):检查空,== NULL VS = NULL
if (value == null)
{//code1}
else
{//code2}
或
if (value != null)
{//code2}
else
{//code1}
或者这两个代码具有相同的性能?
没有性能上的差异,所以你应该努力提高可读性。
例如,在if
分支中放置更多“常规”路径并将“特殊”路径放入else
分支中通常是一个好主意。
性能没有差异。我个人把更常见的情况放在最上面,在else
分支中不太常见的情况,但这只是偏好。这使我更容易看到更常见的情况。
没有性能差异。根据您的需要使用它们(可读性/可用性透视图)。 最合适/使用的块进入if
,可选/辅助块进入else
。
都是相同的。对于可读性,你可以把在IF代码给出结果为真块。在这种情况下,IF(value!= null)是更好的可读性和明显的:)
“没有性能差异,所以你应该为可读性编码”---实际上,在第一个地方编写可读代码总是一个好主意:-) – zerkms
@zerkms,好这是一个很好的起点。但是,如果你的分析表面瓶颈,你有时不得不牺牲可读性的祭坛。 –
@Kirk Woll:是的,但只有在你写完美妙的一段代码之后。精心设计的代码更容易改进(从性能角度来看) – zerkms