NULL,"",String.Empty三者在C#中的区别

来源:互联网 发布:淘宝经典差评 编辑:程序博客网 时间:2024/05/20 22:02

(1)NULL

  • null 关键字是表示不引用任何对象的空引用的文字值。

  • null 是引用类型变量的默认值。

  • 只有引用型的变量可以为NULL,如果int i=null,的话,是不可以的,因为Int是值类型的。

(2)”“和String.Empty

  • 这两个都是表示空字符串。

  • 只不过”“理论上重新开辟内存空间,而String.Empty指向一处。

  • 所以推荐使用string.Empty,为了以后跨平台,还是用string.empty。

  • 在C# 中,大多数情况下 “” 和 string.Empty 可以互换使用。比如:

string s = "";string s2 = string.Empty;if (s == string.Empty) {//} if语句成立

(3)判定为空字符串的几种写法,按照性能从高到低的顺序是:

s.Length == 0 》》 s == string.Empty 》》s == “”

注意:
string str1=”” 和 string str2=null 的区别。

  • str1是一个空字符串,空字符串是一个特殊的字符串,只不过这个字符串的值为空,在内存中是有准确的指向;

  • string str2=null,这样定义后,只是定义了一个string
    类的引用,str2并没有指向任何地方,在使用前如果不实例化的话,都将报错。