string.Empty会在堆上占用一个长度为0的空间,而null不会。
empty是空字符串,Null是空数据,取数据的时候Null不是空,不能和空比较,有些甚至不能读取
具体内容如下:
string str1=””;string str2=null;
如刚才所说str1会在栈上保存一个地址,这个地址占4字节,指向内存堆中的某个长度为0的空间,这个空间保存的是str1的实际值。
str2同样会在栈上保存一个地址,这个地址也占4字节,但是这个地址是没有明确指向的,它哪也不指,其内容为0x00000000。
本文详细解释了在编程中空字符串(string.Empty)与null之间的区别。前者会在内存堆上分配一个长度为0的空间,而后者则不占用空间。此外还讨论了两者在栈上的表现形式及其实际含义。
733

被折叠的 条评论
为什么被折叠?



