读书人

C#中string str = null 与 string s

发布时间: 2012-04-03 12:38:19 作者: rapoo

C#中,string str = null 与 string str =""有什么区别
C#中,string str = null 与 string str = " "有什么区别,请详细解释一下!

[解决办法]
string str = null 不分配内存。 string str = " " 分配字节为0的内存。
[解决办法]
string str = null 这种初始化方式并不规范

最好可以使用以下写法
string str=String.Empty;
string str=defalut(String);
[解决办法]
string 本身是一个引型类型,只是这个引用类型比较特殊

str = null 是把引型类型的对象,设为null
str = " " 是把string 对象的值设置为空

一般建议使用 string strTmp = string.Empty;
[解决办法]
string str=null;的实质是 char *ps = 0;
string str= " "; 的实质是 char *ps= " "; 或 char *ps= "\0 ";
也就是说
string str=null;表示str是一个为0的指针。不分配任何内存空间。
string str= " "; 表示str指向首元素为0(字符串结束标志)的字符数组。会分配内存空间,但是该内存空间的首位为0。

读书人网 >C#

热点推荐