以事实驳斥:改进你的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();
        }
    }
}

  

 

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

 

 

 

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

 

 

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

 

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

 

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

 

 

补充

第一条的基准测试结果

 

 

 

posted @ 2021-01-19 14:47  吃西瓜的星星  阅读(3076)  评论(31编辑  收藏  举报