转载自CSDN_FreeSon;
https://blog.csdn.net/biaobiao1217/article/details/39047963
字符串判断:string在C#中是一个引用类型,但其又具有一定的特殊性。我们在使用string时,往往会把“变量值为空的字符串对象”和“变量值为空字符的字符串对象”搞混。
因为string是我们开发过程使用最频繁的类型之一,对于字符串为空的判断方法总结如下:
一般对于判断字符串是否为空的方法有:
string str=""; 1、if(str=="") 2、if(str==String.Empty) 3、if(str.length==0)
三种方法的效果一样,都可以判断字符串是否为空,但性能上有所不同,因为整数判断等于最快,没有经过实例化等复杂的过程,所以第三种方法str.Length==0是最快的,
其次是str==String.Empty,最后是str==""(第一种和第二种差不多);但是要想使用第三种方法判断字符串是否为空,必须保证字符串不为null,如果为null就会报出NullReferenceException 异常.
其实还有一种判断字符串是否为空的方法,也是我个人比较喜欢的一种方法, 它不但一次性能判断"空的字符串变量",还能判断“值为空字符串的变量”,并且还可以让代码简洁美观。判断的效率也不算低:
if(string.IsNullOrEmpty( str ))
经常我们会使用另一种形式:if(!strign.IsNullOrEmpty(str));
从上面的分析我们可以看到,使用Length法来进行字符串判空串是有着很大的性能优势的,尤其在进行大量字符串判空时!当然首先得判断字符串实例是否为空引用!故,可以采用如下方法进行判断:
if(str!=null&&str.length==0)
这样既可以避免字符串为null时的异常,效率也高于其他方法。