博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 判断字符串为空的4种方法及效率
阅读量:4970 次
发布时间:2019-06-12

本文共 1201 字,大约阅读时间需要 4 分钟。

在程序开发过程中,少不了要处理字符串,并且常常要判断字符串是否为空,通常有哪些判断方法,以及不同方法的效率又怎么样?

  在 C# 中,通常有三种判断字符串是否为空的方法,下面分别探讨。

 

  1、str.Length == 0

  使用 str.Length == 0,在三种方法中效率是最高的,但容易产生异常。当字符串为空的时候就会产生异常,如

  string str; 或者 string str = null;

  if(str.Length == 0) //产生异常

  此时,就会产生对象不能为空的异常。

 

  如果事先初始化 str,如:

  string str = "a-购物、商场打折";

  if(str.Length == 0) //不产生异常

  此时,则不会产生异常。因此,如果事先可以断定字符串在任何情况下都不为空,可以用此方法,从而提高效率;反之,不建议使用。

 

  2、str == string.Empty 或 str == ""

  这两种方法效率比 str.Length == 0 稍低一点,但字符为空时不会产生异常。所以,在事先不初始化变量,或不能断定变量在程序运行过程中一定不为空,可以使用此方法。

  可能细心的你会问,str == string.Empty 和 str == "",哪个效率会更高一点?记得在《C# 多个字符串连接的效率》一文中具体探讨过,有兴趣可以看一看,不过在此可以先告诉你:str == string.Empty 略高一点

 

  3、str == string.IsNullOrEmpty

  Null 通常用来判断对象是否为空,所以这个方法既可以判断字符串(str)这个对象是否存在,也可以判断字符串为空(empty 或 "")。它与 str == string.Empty 比较,效率高低如何呢?举例如下:

  1)字符串为空时

  string str = null;

  if (str == string.Empty)
  {
  }

  if (string.IsNullOrEmpty(str))

  {
  }

  2)字符串不为空时

  string str = "a-购物、商场打折";

  if (str == string.Empty)
  {
  }

  if (string.IsNullOrEmpty(str))

  {
  }

  通过执行比较,两种情况,string.IsNullOrEmpty(str) 都比 str == string.Empty 稍快。

  当然,这种字符串为空的判断方法,在平常的编程过程中,效率差别是非常小,如果不是十分复杂的情况下,可以忽略。但尽量使用效率高的方法。

转载于:https://www.cnblogs.com/liuguangfa/p/5143009.html

你可能感兴趣的文章
CodeForces 22C System Administrator
查看>>
团队博客8
查看>>
多操作系统安装实践小结
查看>>
ABP学习入门系列(三) (领域层中的仓储Repository)
查看>>
iPhone-NSAssert使用
查看>>
35.大质数
查看>>
spring包说明
查看>>
从技术到管理:工作转型后角色定位
查看>>
linux快速查找文件
查看>>
【bzoj4008】 HNOI2015—亚瑟王
查看>>
lambda、map、reduce、filter函数讲解
查看>>
Apache下通过shell脚本提交网站404死链
查看>>
java ftp下载文件
查看>>
hint使用
查看>>
FLEX 通过url 得到网页内容 xml通信
查看>>
打包压缩
查看>>
PASCAL语言子集的词法、语法分析器之实现
查看>>
通用FTP Client模块设计与实现
查看>>
【javascript笔记】声明函数的三种方式
查看>>
嵌入式软件工程师C语言经典笔试2
查看>>