我試圖找出if語句的一些最佳做法。當我需要打開一些等式時,即需要一個if-else結構時,我通常在「不等於」上寫入條件。這背後的原因是通常,當一個不成功的結果出現時,指令的數量以及它們的複雜度都很低。比較過程有什麼不同嗎?等於(==)和不等於(!=)之間的執行時間有差異嗎?C#執行速度:等於(==)與不等於(!=)
例(一個相當簡單的,但一般的概念持有):
string myString = "weekend";
if(myString != "weekend")
{
Console.WriteLine("No fun...!");
}
else
{
//do a bunch of fun stuff with relatively high complexity
//can expand over many lines of code
}
是否有執行時間有什麼區別,如果我改變的if-else語句的順序?
string myString = "weekend";
if(myString == "weekend")
{
//do a bunch of fun stuff with relatively high complexity
//can expand over many lines of code
}
else
{
Console.WriteLine("No fun...!");
}
嘗試對其進行基準測試。我相信你會發現在性能方面''=''僅僅是'=='的翻轉(所以它並不重要)。 – Romoku
轉到可讀性。修復之後的性能問題,這可能不是一個問題。 – Arran
[只需對它進行基準測試!](http://ericlippert.com/2012/12/17/performance-rant/) –