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