string s=null;和string s="";有啥不同;

来源:百度知道 编辑:UC知道 时间:2024/05/29 13:54:24
string s=null;和string s="";有啥不同;

string s=null;
不在内存中开辟空间
string s="";
在内存中开辟空间,但空间中没有值(""也是一个字符串)

如果想声明一个初始值为空的字符串变量最好用
string str = string.Empty;

前者表示STR是空值,或者说只有名字而没有内容——有名无实;后者表示Str中有内容,其内容是空字符串。

string str = null 不限定字符类型,string str = “” 限定为空字符

一个是空引用,一个是有引用但是没有具体内容。
举例说,一个是只有房子地址,房子连地皮都没分配。一个是房子地皮划分了,但是没有盖,只是一块地皮。

string s=null;
表示s未被初始化不在内存中开辟空间
string s="";
表示s已被初始化在空间中没有值!

string=null表示不占用内存 而string=“”是已经在内存开辟了空间 但是值为空值