C#中string类型赋值null,string.Empty和的区别
这是⾯试中常见的题,通常⽤于考察对字符串相关知识的理解
我们编写如下代码:
空字符串是什么string a = "";
string b = "";
string c = string.Empty;
string d = string.Empty;
string e = null;
string f = null;
等运⾏完后在即时窗⼝中⽤&命令查看这些变量的地址
然后发现,所有变量的栈地址都不同(废话),赋值null的未分配堆空间,所以⽆堆地址,其他⽆论赋值""还是赋值string.Empty堆地址都完全⼀样。
最终结论:赋值null不会分配堆空间,赋值""和string.Empty效果完全⼀样,会引⽤相同的堆地址。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论