以事實駁斥:改進你的c#程式碼的5個技巧(四)

吃西瓜的星星發表於2021-01-19

 

測試使用的環境:vs2019+.net core3.1

 

原文地址:https://www.cnblogs.com/hhhnicvscs/p/14296715.html

 

反駁第一條:如何檢查程式碼中的空字串?

 

 

 調整順序後輸出,如下圖:

 

上圖調整順序後,發現耗時排序發生了逆轉。為什麼?自行研究。

using System;
using System.Diagnostics;

namespace ConsoleApp1
{
    public class Compare
    {
        public static void First(string Value)
        {
            if (Value.Length != 0)
            {
            }
        }
        public static void Second(string Value)
        {
            if (Value != "")
            {
            }
        }
        public static void Third(string Value)
        {
            if (Value != string.Empty)
            {
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Stopwatch sw = new Stopwatch();
            sw.Start();
            Compare.Third("weuroovnuifbbno");
            sw.Stop();
            Console.WriteLine("Using Empty: " + sw.ElapsedTicks);
            sw.Restart();
            Compare.Second("weuroovnuifbbno");
            sw.Stop();
            Console.WriteLine("Using !=     " + sw.ElapsedTicks);
            sw.Restart();
            Compare.First("weuroovnuifbbno");
            sw.Stop();
            Console.WriteLine("Using Length: " + sw.ElapsedTicks);
            
            Console.WriteLine("---------------");


            sw.Restart();
            Compare.First("joigjoerjgiogro");
            sw.Stop();
            Console.WriteLine("Using Length: " + sw.ElapsedTicks);
            sw.Restart();
            Compare.Second("joigjoerjgiogro");
            sw.Stop();
            Console.WriteLine("Using !=     " + sw.ElapsedTicks);
            sw.Restart();
            Compare.Third("joigjoerjgiogro");
            sw.Stop();
            Console.WriteLine("Using Empty: " + sw.ElapsedTicks);

            Console.ReadLine();
        }
    }
}

  

 

 反駁第二條:更改你的型別轉換風格

 

 

 

同樣的對順序進行調整,如下圖:

 

 

結果如圖,我也不說什麼了。

 

至於剩下的,自己慢慢試吧。

 

最後,網上的文章,不要盡信之,最好是自己能夠實踐一下,這樣才能去其糟泊取其精華,別讓自己誤入歧途。

 

 

補充

第一條的基準測試結果

 

 

 

相關文章