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)。

  • 相关阅读:
    libuv 中文编程指南(一)序言
    一些鲜为人知却非常实用的数据结构
    libuv 中文编程指南(二)libuv 基础
    Zookeeper 的 Lua 绑定(二)
    高度怀疑
    不能没有你
    第一次看流星雨记
    调侃下蓝网队 我还是比较极端的 不要好 那就要坏吧
    摇滚校园
    守法公民
  • 原文地址:https://www.cnblogs.com/oec2003/p/754193.html
Copyright © 2011-2022 走看看