C#中String.Empty,“”,NULL的区别
String类的静态只读字段。定义如下:
public static readonly string Empty;
二、“”
被赋值为“”的字符串变量,,会在栈上保存一个地址(占4个字节),该地址会指向 同时在堆上分配一个长度为0的内存空间(存放字符串的值)。
三、null
被赋值为null的变量,会在栈上保存一个地址(占4个字节),该地址不会指向堆上的任何内存空间(1、初始赋值时不分配内存;2、将原来所指的内存空间变为不可达)。
总结:
1、String.Empty 和 “” 基本相同,String.Empty只是一种在语法上对“”的优化;
2、String.Empty(“”) 和null的区别是,前者地址指向某一个堆中某一内存空间,而后者不指向堆上的任何内存空间。
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/71466.html
- 上一篇:使用Delphi实现JNI
- 下一篇:C#的split()分割字符串