有沒有推薦的方法檢查空,例如(根據.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