一直都是用string.IsNullOrEmpty 没有注意到string.IsNullOrWhiteSpace
突然就想看一下它们两个的区别 如下:
string.IsNullOrEmpty指定的字符串是 null
还是 Empty字符串。
string.IsNullOrWhiteSpace指定的字符串是 null
、空还是仅由空白字符组成。
string.IsNullOrWhiteSpace是类似于下面的代码,只是它提供优异的性能的便捷方法:
return String.IsNullOrEmpty(value) || value.Trim().Length == 0;
那IsNullOrEmpty与IsNullOrWhiteSpace性能谁比较高呢?
在string都是空字符串的情况下:
IsNullOrWhiteSpace要比IsNullOrEmpty快大约 1~5倍左右
如果都是为null呢,谁比较快呢?
IsNullOrWhiteSpace稳定在3,而IsNullOrEmpty在1~12之间来回跳跃
如果有值呢,谁比较快?
IsNullOrWhiteSpace基本稳定在3左右,而IsNullOrEmpty跳动幅度比较大一些在3~50之间
测试代码如下:
如此看来IsNullOrWhiteSpace性能是要比IsNullOrEmpty高的多得多的。
但如果处理上万条,几十万条数据却是IsNullOrEmpty性能要高的。但是IsNullOrWhiteSpace相对比较稳定,IsNullOrEmpty跳动幅度比较大一些