C#中判断空字符串的3种方法性能分析

转载 2007年09月21日 08:54:00

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



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1588047 

相关文章推荐

C#中判断空字符串的3种方法性能分析

  3种方法分别是: string a=""; 1.if(a=="") 2.if(a==String.Empty) 3.if(a.Length==0) 3种方法都是等效的,那么究竟那一...

C#中判断空字符串的3种方法性能分析

#中判断空字符串的3种方法性能分析。 3种方法分别是: string a=""; 1.if(a=="") 2.if(a==String.Empty) 3.if(a.Length==0) ...

C#中判断空字符串的3种方法性能分析

C#中判断空字符串的3种方法性能分析 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.4.28  3种方法...

C#中判断空字符串的3种方法性能分析

C#中判断空字符串的3种方法性能分析  3种方法分别是: string a=""; 1.if(a=="") 2.if(a==String.Empty) 3.if(a.Leng...

SpringMVC统一转换null值为空字符串的方法

在Java Web中,如果数据库中的值为null,而不做任何转换的话,传到前端页面中会显示为null,影响美观。本文介绍一种如何简单地利用SpringMVC的和配置统一转换null值为空字符串的方法。

Java里如何判断一个String是含有空格或空字符串

1,判断读入的String是否为空字符串 要判读String是否为空字符串,比较简单,只要判断该String的length是否为0就可以,或者直接用方法isEmpty()来判断。     但很多时...

Java中判断空字符串

以下是 Java 判断字符串是否为空的几种方法.   方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低.   方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法.   方法...

C#数字图像处理有3种典型方法:提取像素法、内存法、指针法。

C#数字图像处理有3种典型方法:提取像素法、内存法、指针法。其中提取像素法使用的是GDI+中的Bitmap.GetPixel和Bitmap.SetPixel方法;内存法是通过LockBits方法来获取...
  • fox666
  • fox666
  • 2013-12-20 20:28
  • 1311
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)