黑马程序员技术交流社区

标题: string str = null 与 string str =“” 的不同 [打印本页]

作者: jy郑娟    时间: 2013-3-14 18:44
标题: string str = null 与 string str =“” 的不同
本帖最后由 jy郑娟 于 2013-3-15 14:46 编辑

在C#中, string str = null 与 string str =“” 又怎么样的不同?
作者: 梁思思    时间: 2013-3-14 18:48
string str = null 表示没有赋予str一个与之对应的实际对象(没有内存分配)
string str =“” 表示一个内容为空字符串的字符串对象
前者由于没有指向具体对象,所以在没有将它指向具体对象之前,不能用“.”运算符引用string类对象的很多方法和属性。
但是后者就可以。

作者: HM刘博    时间: 2013-3-14 19:06
string str=null这样定义后,只定义了一个string类的引用,str并没有指向任何地方,没有内存地址值来赋给str。
string a;
Co.Wri(a);//这里会报错,因为没有初始化a

string str=""这样定义后,str是一个空字符串,只不过这个字符串的值为空,但是在内存中有准确指向,有内存地址值来赋给str
string a="";
Co.Wri(a); //这里不会报错,因为把a初始化了






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2