zoukankan      html  css  js  c++  java
  • C#中判断空字符串的3种方法性能分析

    3种方法分别是:
    string a="";
    1.if(a=="")
    2.if(a==String.Empty)
    3.if(a.Length==0)

    3种方法都是等效的,那么究竟那一种方法性能最高呢?本人用实验说明问题。

    建立3个aspx页面(为什么用网页,主要是利用Microsoft Application Center Test

    WebForm1.aspx

    private void Page_Load(object sender, System.EventArgs e)
    {
       
    string a="";
       
    for(int i=0;i<=1000000;i++)
       {
          
    if(a=="")
          {
          }
       }
    }

     

    WebForm2.aspx

    private void Page_Load(object sender, System.EventArgs e)
    {
       
    string a="";
       
    for(int i=0;i<=1000000;i++)
       {
          
    if(a==String.Empty)
          {
         
          }
       }
    }


    WebForm3.aspx

    private void Page_Load(object sender, System.EventArgs e)
    {
       
    string a="";
       
    for(int i=0;i<=1000000;i++)
       {
          
    if(a.Length==0)
          {
          }
       }
    }


     在Microsoft Application Center Test 下建立3个压力测试项目:

    测试结果:

    WebForm1.aspx----------if(a=="")


    WebForm2.aspx-------if(a==String.Empty)


    WebForm3.aspx-------if(a.Length==0)

    所以3种方法量化的结果是98,105,168:

    方法 结果
    if(a=="") 98
    if(a==String.Empty) 105
    if(a.Length==0) 168

    那么为什么if(a.Length==0)最快呢?
    因为整数判断等于最快,没有经过实例化等复杂的过程。

    所以:建议大家判断字符串是否为空用 if(a.Length==0)。

  • 相关阅读:
    .NET XmlNavigator with Namespace
    编程要素
    【FOJ】1962 新击鼓传花游戏
    【POJ】1389 Area of Simple Polygons
    【POJ】2482 Stars in Your Window
    【HDU】3265 Posters
    【HDU】1199 Color the Ball
    【HDU】3642 Get The Treasury
    【HDU】4027 Can you answer these queries?
    【HDU】1542 Atlantis
  • 原文地址:https://www.cnblogs.com/oec2003/p/754193.html
Copyright © 2011-2022 走看看