A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

string str = null 与string str = “” 区别是什么?

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

5 个回复

正序浏览
一个是什么都没有,一个是空字符串,区别大了

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

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

string str="" 把这个引用指向了一个地址,地址里面存的是空的字符。。
回复 使用道具 举报
pokemon 发表于 2013-2-16 18:40
可以理解为    null 表示 这个东西不存在       "" 表示有这么个东西存在,但是咱们看不见 ...

万物皆对象
回复 使用道具 举报
可以理解为    null 表示 这个东西不存在       "" 表示有这么个东西存在,但是咱们看不见
回复 使用道具 举报
string str1=””;
string str2=null;
str1会在栈上保存一个地址,这个地址占4字节,指向内存堆中的某个长度为0的空间,这个空间保存的是str1的实际值。
str2同样会在栈上保存一个地址,这个地址也占4字节,但是这个地址是没有明确指向的,它哪也不指,其内容为0x00000000
详细可以参考这篇文章  http://www.bitscn.com/pdb/dotnet/201003/181883.html
回复 使用道具 举报
string str = null 是不给他分配内存空间
string str = "" 给它分配长度为空字符串的内存空间.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马