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

ASP.NET
ASP.NET中Session丢失原因与解决方案小结
.net开发中的一些注意事项及小技巧
学习Asp.Net经常会用到的函数集
在.net App中集成COM组件的一些简单技巧
彻底放弃IIS让Apache也支持ASP.NET
[JS.IntelliSense]VS2007(Orcas) So Cool
Asp.net 2.0 ViewState原理
asp.net ajax 使用updatepanel进行更新后的提示
动态代理DynamicProxy 介绍
您可能不知道的.Net2.0小技巧
Asp.Net2.0技巧(续)
“黑盒测试管理”以外的编程经验片断
实例开发:ASP.NET创建网络相册
封装stream,在读写stream时提供事件通知
GIS开发随笔--GIS技术的一点理解和MapNet控件试验
利用隐藏帧打印url的方法比较
无刷新仿google波形扭曲彩色Asp.net验证码
存储过程编写经验和优化措施
编程技巧:.Net Framework
编程技巧OOPs:复制构造函数

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 201 ::
收藏到网摘: 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)。