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

作者:杨义贤

主页:http://blog.csdn.net/lucky_yyx       时间:2007.4.29

 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#中判断空字符串的3种方法性能分析 1相关推荐

  1. C#中判断空字符串的3种方法性能分析【月儿原创】

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

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

    3种方法分别是:string a=""; 1.if(a=="") 2.if(a==String.Empty) 3.if(a.Length==0) 3种方法都是等 ...

  3. .NET深入学习笔记(2):C#中判断空字符串的4种方法性能比较与分析

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

  4. shell中判断空字符串和有趣的空字符串

    Introduction Shell 中判断空字符串 以及有趣的空字符串 判断字符串是否为空 Example1 if [[ -z "$str" ]] thenecho " ...

  5. java取子串_Java中获取子字符串的几种方法示例

    首先假如有这样一串字符串: String s = "共 100 页, 1 2 3 4..."; 假如我想把"100"给取出来,该如何做? 方法一: 采用spli ...

  6. c#中Split分割字符串的几种方法

    已经快一个多月没写点代码了感觉有点生疏了. 连很多基本的东东都有点忘记了. 这不早上连 一个文本框里的一行行字怎么分开都忘记了. 回车键会显示成 /t/n 所以要分割 /t/n 1方法 string[ ...

  7. c语言能返回字符串吗,C语言中函数返回字符串的四种方法

    在讨论着四种方法以前,首先要对函数有一个简单的认识,不管是在形实结合时,仍是在return语句返回时,都有一个拷贝的过程.你传进来的参数是个值,天然函数在工做以前要把这个值拷贝一份供本身使用,你传进来 ...

  8. VS中C#读取app.config数据库配置字符串的三种方法(转)

    关于VS2008或VS2005中数据库配置字符串的三种取法 VS2008建立Form程序时,如果添加数据源会在配置文件 app.config中自动写入连接字符串,这个字符串将会在你利用DataSet, ...

  9. 在JavaScript中重复字符串的三种方法

    In this article, I'll explain how to solve freeCodeCamp's "Repeat a string repeat a string" ...

最新文章

  1. 生成xml_Java操作XML
  2. 又爱又恨的 Microsoft Edge!
  3. 多读多写多实践---给初学编程者的建议
  4. 百度Q2扭亏为盈,市值一夜大涨300亿,李彦宏:呼唤猛将雄兵,要再上行业之巅...
  5. C语言比较法排大小,c语言 比较法排序区别
  6. 网站推广下吉利关联公司公开“车辆故障预测方法”将在事故发生前预警
  7. 应力循环次数60ant_恒温恒湿箱循环试验失效分析
  8. 网络流24题 洛谷 3355 骑士共存
  9. 估值150亿,账上还有近10亿现金,却减员500人,这家公司CEO的说法你认同吗?...
  10. ios 相册 同时选择多张图片
  11. XP系统中如何查哪些网址曾经远程连接过本机器。
  12. 做港台项目开发遇到的一些非技术问题总汇。。。
  13. 公务员考试行测——逻辑推理
  14. TPScan一键ThinkPHP漏洞检测工具使用
  15. 阿里云个人网站免费绑定SSL证书(超详细图文教程)
  16. C语言基础级——N维数组定义与使用
  17. 【集合论】序关系 ( 哈斯图示例 | 整除关系哈斯图 | 包含关系哈斯图 | 加细关系哈斯图 )
  18. java计算机毕业设计物流公司停车位管理源程序+mysql+系统+lw文档+远程调试
  19. 写一副对子_一副对子的传奇故事
  20. 转载_利用虚拟机VMWARE安装并配置Debian Linux系统的总结

热门文章

  1. RO,RW,ZI概念
  2. 小米路由器显示无法连接到服务器,小米路由无法连接WIFI的五种解决方法【图解】...
  3. ROC阳性结果还是阴性结果?
  4. Miktex使用笔记
  5. asyncio 系列五、同步原语—Synchronization Primitives
  6. C语言FILE详解(COME ON)
  7. 函数声明放在头文件中,函数的定义放在实现文件中,然后在主函数中调用
  8. python画图设置坐标轴为科学记数法_防止matplotlib.pyplot中的科学记数法
  9. linux命令行连接蓝牙键盘
  10. 使用IText组件在PDF文档上绘制椭圆形印章的算法分析及代码分享