C#中判断字符串为空的几种方法的比较

时间:2022-04-27 19:56:22

字符串判断: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 )) 

    从上面的分析我们可以看到,使用Length法来进行字符串判空串是有着很大的性能优势的,尤其在进行大量字符串判空时!当然首先得判断字符串实例是否为空引用!故,可以采用如下方法进行判断:

if(str!=null&&str.length==0)

这样既可以避免字符串为null时的异常,效率也高于其他方法。