日期:2014-05-18  浏览次数:20798 次

"null" 和 ""
string str;

1、这时“string”为“null”



string str=string.empty;  

问题一:这时“str”为“null”,还是""???

string str="";

问题二:null和""有什么不同???

------解决方案--------------------
string.empty 就是 ""
null 就是该字符串不在内存中占有位置,"" 位置是占了,但是还没有实际的内容
------解决方案--------------------
null不分配内存, ''是空字符串,是分配内存的
------解决方案--------------------
"" 等价 string.Empty,只是写法不同。
如果只写string str; 只是定义了一个变量,还没有给他赋值(在内存中分配空间)。
而str = "" 或str=string.Empty 给变量str赋一个初始值,但这个值为空。
 
------解决方案--------------------
null 分配内存 '' 不分配内存 

这种问题楼主大可自己搜索 不用在这儿咨询的
------解决方案--------------------
string.Empty=""但是不分配内存。
------解决方案--------------------
探讨

null不分配内存, ''是空字符串,是分配内存的

------解决方案--------------------
你可以这样理解
string str = string.Empty;
相当于数据库里表建了,但是还没往表里插数据,表是空的
string str = null;
数据库里表都还没有建
------解决方案--------------------
string str = string.empty 相当于str = “” 就是已经分配的内存 但是等于null的话就是没有分配内存了!呵呵
------解决方案--------------------
"":分配的内存空间,但是没有放数据
null:没有分配内存空间。
------解决方案--------------------
null:你房子里连个放钱的地都木有
"" :你家还是有个放钱的地.只是没有放钱
------解决方案--------------------
一楼正确,String str = ""会分配内存,而String.Empty 则只有一个空指针,在heap中不会有内容。
------解决方案--------------------
null 代表栈上的空引用指针
"" 会在托管分配内存
 差别大了去
------解决方案--------------------
内存区分
------解决方案--------------------
你确定String.Empty 不会分配内存?
探讨

一楼正确,String str = ""会分配内存,而String.Empty 则只有一个空指针,在heap中不会有内容。

------解决方案--------------------
探讨
一楼正确,String str = ""会分配内存,而String.Empty 则只有一个空指针,在heap中不会有内容。