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


 

測試使用的環境: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();
        }
    }
}

  

 

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

 

 

 

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

 

 

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

 

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

 

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

 

 

補充

第一條的基准測試結果

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM