黑马程序员技术交流社区

标题: string str = null 与string str = “” 区别是什么? [打印本页]

作者: 胡元江    时间: 2013-2-14 20:27
标题: string str = null 与string str = “” 区别是什么?
string str = null 与string str = “” 区别是什么?
作者: 王晨    时间: 2013-2-14 21:06
string str = null 是不给他分配内存空间
string str = "" 给它分配长度为空字符串的内存空间.

作者: 康晓璞    时间: 2013-2-16 10:53
string str1=””;
string str2=null;
str1会在栈上保存一个地址,这个地址占4字节,指向内存堆中的某个长度为0的空间,这个空间保存的是str1的实际值。
str2同样会在栈上保存一个地址,这个地址也占4字节,但是这个地址是没有明确指向的,它哪也不指,其内容为0x00000000
详细可以参考这篇文章  http://www.bitscn.com/pdb/dotnet/201003/181883.html

作者: 戴鑫凯    时间: 2013-2-16 18:40
可以理解为    null 表示 这个东西不存在       "" 表示有这么个东西存在,但是咱们看不见
作者: 李荣斌    时间: 2013-2-16 19:53
pokemon 发表于 2013-2-16 18:40
可以理解为    null 表示 这个东西不存在       "" 表示有这么个东西存在,但是咱们看不见 ...

万物皆对象
作者: xiaqingchao    时间: 2013-2-18 12:08
一个是什么都没有,一个是空字符串,区别大了

你定义了一个变量的引用str

string str=null 把这个引用指向了一个null,没有地址没有值的地方。。

string str="" 把这个引用指向了一个地址,地址里面存的是空的字符。。




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