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

3种方法都是等效的,那么究竟那一种方法性能最高呢?本人用实验说明问题。

建立3aspx页面(为什么用网页,主要是利用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种方法量化的结果是98105168

方法

结果

if(a=="")

98

if(a==String.Empty)

105

if(a.Length==0)

168

那么为什么if(a.Length==0)最快呢?
因为整数判断等于最快,没有经过实例化等复杂的过程。

所以:建议大家判断字符串是否为空用 if(a.Length==0)

转载于:https://www.cnblogs.com/gc2013/p/3924455.html

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

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

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

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

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

  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. 你也许不知道的Vuejs - 前言
  2. 工作以后如何有效学习
  3. 【opencv】图像处理之相似变换、仿射变换、透视变换
  4. 编曲技巧:使用FL Studio来制作停顿的效果
  5. java json 合并_java中,怎么把两个jsonObject合并成一个?
  6. NOIP 2017 PJ
  7. win7连接远程桌面问题,无法复制文件,无法读取源文件或磁盘
  8. 自动生成光纤测试资料的软件,光缆测试资料生成模板
  9. freenom域名申请教程
  10. Node版本管理控制器n
  11. BCH又要分叉?这一次社区似乎喜闻乐见
  12. 如何彻底对chrome降级
  13. 【生信】全基因组关联分析(GWAS)原理
  14. 【读书笔记】《互联网企业安全高级指南(赵彦等)》
  15. 关于win11兼容性视图模式
  16. 利用函数进行ip地址转换
  17. Vue.js实战——内置指令(二)
  18. 埃森哲java笔试_【埃森哲Java面试】埃森哲java面试-看准网
  19. 北京融汇数联科技实习面试
  20. 【编程开发】MD5算法原理

热门文章

  1. 浅谈《刺客信条》的叙事:刺客和圣殿骑士的冲突与融合
  2. 入职体检——项目列表(7项)
  3. Java扑克牌(enum)
  4. 如何在SecureCRT上使用公钥登陆Linux服务器
  5. example:利用impdp通过dblink导入数据库
  6. vue脚手架中使用axios
  7. Python 文件处理、字符编码(二)
  8. nodejs + Mysql 在前端页面控制后台数据
  9. 一鼓作气 博客--第六篇 note6
  10. WINIO64位模拟键鼠操作