C#中判断空字符串的3种方法性能分析
作者:清清月儿
主页:http://blog.csdn.net/21aspnet/ 时间:2007.4.28
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)。
分享到:
相关推荐
本文实例讲述了C#判断字符串是否存在字母及字符串中字符的替换的方法。分享给大家供大家参考。具体实现方法如下: 首先要添加对命名空间“using System.Text.RegularExpressions;”的引用 下面以一个字符串为例: ...
程序开发者必须掌握的c# 拼接字符串的几种方式,此文对几种方式的性能的进行了总结和比较
c#中 base64字符串与普通字符串互转,转成 Base64 形式的...
C#中文文本匹配,字符串匹配,中文词语匹配,计算2个句子相似度 中文匹配C#中文文本匹配,字符串匹配,中文词语匹配,计算2个句子相似度 C#中文文本匹配,字符串匹配,中文词语匹配,计算多个句子相似度 C#中文文本...
本文实例讲述了C#实现将字符串转换成日期格式的方法。分享给大家供大家参考。具体实现方法如下: 代码如下:string s = ... 您可能感兴趣的文章:C#中判断、验证字符串是否为日期格式的实现代码C# string
C#连接Oracle数据库字符串 C#连接Oracle数据库字符串
C#字符串删除指定字符串|C#字符串删除子字符串
C# ASCII码和字符串互转
主要介绍了C#实现实体类与字符串互相转换的方法,涉及C#字符串及对象的相互转换技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了C#简单判断字符编码的方法。分享给大家供大家参考,具体如下: public static string GetText(byte[] buff) { string strReslut = string.Empty; if (buff.Length > 3) { if (buff[0] == 239 && ...
c# winfrom 判断前后字符串是否相同 vs2013源码 数字正则表达式
C#判断一个字符是否在字符串里/数组里。 简单小例子,测试可用。赶快学习,大家一起进步吧。
C#判断字符串是否为数字字符串
C#字符串截取固定长度的方法
您可能感兴趣的文章:Android Force Close 出现的异常原因分析及解决方法C#判断字符串是否是数字(实例)C#自动判断Excel版本使用不同的连接字符串C#判断字符串是否存在字母及字符串中字符的替换实例C#实现判断字符...
C#格式化字符串C#格式化字符串C#格式化字符串C#格式化字符串
asp.ent(C#)中判断空字符串的3种方法以及性能分析
给写了2个方法,一个是直接截取单个需要的字符串,比如字符串string a="ab123456",我只需要提取3,那么就是单独截取就可以了,从2开始到4结束就行。 第二个是把所有的符合条件的字符串都截取出来,提取出来,比如...
C#打开含有对应字符的串口,并发送字符串