一直以来字符串为空的判断都是程序运行过程中报错“未将对象应用设置到对象实例”的最大元凶,今天看到几个判断的方法,写下来以后参考:
判定为空字符串的几种写法,按照性能从高到低的顺序是:
s.Length == 0 优于 s == string.Empty 优于 s == ""
最主要区分就是null,下面做了一些解释:
String.Empty和Null,这两个都是表示空字符串:
string str1= String.Empty
这样定义后,str1是一个空字符串,空字符串是一个特殊的字符串,只不过这个字符串的值为空,在内存中是有准确的指向的;
string str2=null
这样定义后,只是定义了一个string 类的引用,str2并没有指向任何地方,在使用前如果不实例化的话,都将报错 。
http://blog.csdn.net/meifage2/article/details/6621668(主要参考此日志,其它几种呢没有写,需要的时候再查看)