C#中String.Empty,“”,NULL的区别

版权声明:biubiubiu https://blog.csdn.net/a_lllll/article/details/89419419

C#中String.Empty,“”,NULL的区别

“”:被赋值为“”的字符串变量,会在栈上保存一个地址(占4个字节),该地址会指向 同时在堆上分配一个长度为0的内存空间(存放字符串的值)。
NULL:被赋值为null的变量,会在栈上保存一个地址(占4个字节),该地址不会指向堆上的任何内存空间。
String.Empty 和 “” 基本相同,String.Empty只是一种在语法上对“”的优化;
String.Empty(“”) 和null的区别是,前者地址指向某一个堆中某一内存空间,而后者不指向堆上的任何内存空间。

猜你喜欢

转载自blog.csdn.net/a_lllll/article/details/89419419