C#中null与string.Empty有啥区别

stringstr=null;stringstr=string.Empty;请问两个有区别吗,什么时候用第一个,什么时候用第二个,哪个效率高... string str=null;string str= string.Empty;请问两个有区别吗,什么时候用第一个,什么时候用第二个,哪个效率高 展开
 我来答
是小白啊2k
2011-08-19 · TA获得超过2566个赞
知道小有建树答主
回答量:1183
采纳率:0%
帮助的人:1163万
展开全部
当你只定义一个str而不为其分配内存时用string str=null,但是在接下来你使用它之前必须为它赋值如str=“xxxx”也就是为它初始化
而string str= string.Empty是定义和初始化放在了一起它实际是等价于string str=null;str="";
具体使用时,如果你确定在使用前会给str赋值就用string str=null,否则用string str= string.Empty,不然程序运行时可能会引发空指针异常
文章已是世多1
2011-08-19 · TA获得超过104个赞
知道小有建树答主
回答量:366
采纳率:0%
帮助的人:79.8万
展开全部
当然有区别了,第一个为空的意思 ,第二个为空字符串,相当于string=""
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
苗哥0906
2011-08-19 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:197
采纳率:0%
帮助的人:147万
展开全部
null是没有任何值 string.Empty是一个空的字符串,是有值的,只是个空值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
漫漫追不腻
2011-08-19 · TA获得超过331个赞
知道小有建树答主
回答量:334
采纳率:0%
帮助的人:107万
展开全部
string str=null 不分配内存(这种初始化方式并不规范)
string str= string.Empty;分配字节为0的内存
一般用string str= string.Empty;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e6fa7a0a1
2011-08-19 · 超过20用户采纳过TA的回答
知道答主
回答量:103
采纳率:0%
帮助的人:76万
展开全部
有区别,string.Empty=“”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式