string、Empty和null三者的区别

Empty是string类中的一个静态的只读字段,他的定义是这样的:

  public static readonly String Empty = "";

Empty:是在语法级别对””的优化。

””:会在栈上保存一个地址,这个地址占4字节,指向内存堆中的某个长度为0的空间,这个空间保存的是实际值(空的字符)。

null:同样会在栈上保存一个地址,这个地址也占4字节,但是这个地址是没有明确指向的,它哪也不指,其内容为0x00000000。

原文地址:https://www.cnblogs.com/dashi/p/4034782.html