当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.ent(C#)中判断空字符串的3种方法以及性能分析

ASP.NET
探讨:ASP.NET技术的学习顺序问题
关于ASP.NET在IIS一些问题的经验总结
ASP.NET中通过对话框方式下载文件
ASP.NET网络编程中常用到的27个函数集
ASP.NET生成静态网页的方法
ASP.NET 2.0中实现弹窗报警提示
复杂ASP.NET服务器控件调整小技巧
ASP.NET调用oracle存储过程实现快速分页
VB.NET实现窗体图标最小化到状态栏
ASP.NET技巧:DataGrid传统分页方式
ASP.NET里的事务处理
ASP.NET 2.0高级数据处理之数据绑定
ASP.NET多频道网站架构实现方法
.NET vs J2EE——面对SOA的荒谬与误解
ASP.NET 2.0中执行数据库操作命令之一
ASP.NET应用程序资源访问安全模型
ASP.NET 2.0中的Web和HTML服务器控件
对.NET Framework 反射的反思
带你走进ASP.NET(1)
带你走进ASP.NET(2)

ASP.NET 中的 asp.ent(C#)中判断空字符串的3种方法以及性能分析


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 54 ::
收藏到网摘: n/a

asp.ent(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)。