(转载)string.IsNullOrEmpty和string.IsNullOrWhiteSpace方法的区别
2016-02-18 10:23
597 查看
由于原来一直都没注意到这两个方法,一直使用string.IsNullOrEmpty,当看到string.IsNullOrWhiteSpace时,而且在微软人员开发的项目中经常使用时才注意到,查了一下MSDN,记一下免得以后忘记。
string.IsNullOrEmpty
都知道,这个功能是判断字符串是否为:null或者string.Empty。如果是如"\t"这样的字符就返回false了,为了达到判断过滤这些功能,就要使用Trim()和Length属性帮忙,判断是否长度为零,于是乎就产生了如下的方法。
string.IsNullOrWhiteSpace
这个是判断所有空白字符,功能相当于string.IsNullOrEmpty和str.Trim().Length总和,他将字符串给Char.IsWhiteSpace为ture的任何字符都将是正确的。根据MSDN的说明,这个方法会比调用上述两个方法的性能更高而且简洁,所以在判断这个功能时,推荐使用。
以上就是代码执行效果,至于性能就听微软的吧,不过string.IsNullOrEmpty和string.IsNullOrWhiteSpace相比,肯定是前面一个性能更高【没有测试过,如果有哪位测试过的可以留言告诉我哦,谢谢!】,所以还是要选择性使用的。
string.IsNullOrEmpty
都知道,这个功能是判断字符串是否为:null或者string.Empty。如果是如"\t"这样的字符就返回false了,为了达到判断过滤这些功能,就要使用Trim()和Length属性帮忙,判断是否长度为零,于是乎就产生了如下的方法。
string.IsNullOrWhiteSpace
这个是判断所有空白字符,功能相当于string.IsNullOrEmpty和str.Trim().Length总和,他将字符串给Char.IsWhiteSpace为ture的任何字符都将是正确的。根据MSDN的说明,这个方法会比调用上述两个方法的性能更高而且简洁,所以在判断这个功能时,推荐使用。
using System; public class Example { public static void Main() { string[] values = { null, String.Empty, "ABCDE", new String(' ', 20), " \t ", new String('\u2000', 10) }; foreach (string value in values) Console.WriteLine(String.IsNullOrWhiteSpace(value)); } } // The example displays the following output: // True // True // False // True // True // True
以上就是代码执行效果,至于性能就听微软的吧,不过string.IsNullOrEmpty和string.IsNullOrWhiteSpace相比,肯定是前面一个性能更高【没有测试过,如果有哪位测试过的可以留言告诉我哦,谢谢!】,所以还是要选择性使用的。
相关文章推荐
- 提交数据(操作)
- 转 iOS宏定义的使用与规范
- 30行代码实现Javascript中的MVC
- servlet单实例多线程模式
- iOS开发证书显示“此证书的签发者无效”的问题解决
- 经典的javascript面试题
- Maven部署Web项目到Tomcat7及在eclipse下调试
- 如何用Maven创建web项目(具体步骤)
- pixhawk自学笔记之创建一个应用程序(按官网)
- JavaScript权威指南__第七章:数组
- 版本控制 svn 与git
- 四、UiDevice API 详细介绍
- What a version number means
- 转 Jmeter之Bean shell使用(二)
- 备忘
- Android 通过Handler进行主线程子线程通信 代码示例
- UTF8与GBK字符编码之间的相互转换
- 关于嵌入式如何学习(看了不后悔,给学技术的同行一条光明的路)
- 关于嵌入式如何学习(看了不后悔,给学技术的同行一条光明的路)
- 关于嵌入式如何学习(看了不后悔,给学技术的同行一条光明的路)