当前位置 博文首页 > 吃西瓜的星星:以事实驳斥:改进你的c#代码的5个技巧(四)

    吃西瓜的星星:以事实驳斥:改进你的c#代码的5个技巧(四)

    作者:吃西瓜的星星 时间:2021-01-30 18:10

     

    测试使用的环境: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();
            }
        }
    }
    

      

     

     反驳第二条:更改你的类型转换风格

     

     

     

    同样的对顺序进行调整,如下图:

     

     

    结果如图,我也不说什么了。

     

    至于剩下的,自己慢慢试吧。

     

    最后,网上的文章,不要尽信之,最好是自己能够实践一下,这样才能去其糟泊取其精华,别让自己误入歧途。

     

     

    补充

    第一条的基准测试结果

     

     

     

    bk
    下一篇:没有了