1. 程式人生 > 其它 >C#之某種情況下switch...case...和if...else if...的效率比較

C#之某種情況下switch...case...和if...else if...的效率比較

技術標籤:C#switch caseif else if字串比較C#

之前一直在考慮switch…case…和if…else if…在同樣字串判斷之間的效率問題,今天測試了一下,看了一下耗時。

			string test;
            for (int i = 0; i < 1000000; i++)
            {
                switch (str)
                {
                    case"1": case"2": case "3": case
"4": case "5": case "6": case "7": test = "床前明月光"; break; default: break; } }

上面利用switch…case…,下面用if…else if…

 			for (int i = 0
; i < 1000000; i++) { if (str == "1" || str == "2" || str == "3" || str == "4" || str == "5" || str == "6" || str == "7" ) { test = "床前明月光"; } }
都是迴圈100萬次,進行了幾十次運算取平均時間(不同的電腦時間可能不同),結果是:
switch...case...耗時:21ms
if...else if... 耗時:2ms
最終結論:在這種情況下的字串比較還是用if ...else if...效率高一些。
具體的情況根據你們所要比較的型別來判斷,這裡只提供一種情況,如有誤,請各位大佬不吝告知!謝謝。。。