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

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

    C#中判断空字符串的3种方法性能分析 作者:杨义贤 主页:http://blog.csdn.net/lucky_yyx       时间:2007.4.29  3种方法分别是:string a=&qu ...

  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. nginx的优先匹配规则
  2. 关于document学习笔记及涉及的前端笔试题
  3. 搜索引擎反作弊之:整体技术思路
  4. AngularJS快速入门简介
  5. 如何让Windows任务栏显示多个不同时区的时钟
  6. 第一章 计算机网络 1 计网体系结构的概念和功能 [计算机网络笔记]
  7. struts2服务端与android交互
  8. alt和title的区别与用法
  9. win10下zookeeper的下载以及安装
  10. 真机开包!国产至强5600服务器35张图赏
  11. Python之千与千寻豆瓣短评词云秀
  12. Javascript特效:输入框焦点判断
  13. 如何阅读一本书——阅读笔记+个人体会【建议写书评或文献综述前读读这本书】
  14. 金融python入门书籍推荐_学习金融工程,有哪些推荐的入门书籍?
  15. CondConv: Conditionally Parameterized Convolutions for Efficient Inference论文解读
  16. iPhone升级iOS 16后Siri无法正常工作怎么办?3种解决办法
  17. 微信小程序 springboot农产品在线商城系统java 助农电商
  18. textarea中的换行如何展示在页面
  19. 离散数学与组合数学-03函数
  20. 三星笔记本bios设置里找不到U盘启动盘的解决方法

热门文章

  1. 2017年全国计算机一级选择题,2017年全国计算机一级选择题题库
  2. mysql注册数据库_基于mysql数据库的注册
  3. python迷宫问题求最短路径_用栈求解迷宫问题的所有路径及最短路径程序
  4. dumpbin发现没有入口函数_详解VS2019 dumpbin查看DLL的导出函数
  5. 使用Python,OpenCV查找图像中的最亮点
  6. 数字图像处理:blob分析、阈值分割
  7. 【汇总记忆:命令、语法、函数、等】
  8. excel排名_excel函数技巧:看看按条件排名要如何进行?
  9. FAST-LIO2:快速直接的激光雷达与惯导里程计
  10. Udacity机器人软件工程师课程笔记(六)-样本搜索和找回-基于漫游者号模拟器-优化和样本找回