文章目录
前言
引用类型是将对象是实际数据保存在堆上, 将对象在堆上的地址保存在栈上。
NULL
null 关键字是表示不引用任何对象的空引用的文字值。null 是引用类型变量的默认值。那么也只有引用型的变量可以为NULL,如果int i=null,的话,是不可以的,因为Int是值类型的。
""和String.Empty
1、Empty是string类中的一个静态的只读字段,他的定义是这样的:
public static readonly String Empty = “”;
也就是说string.Empty的内部实现是等于””的。
2、这两个都是表示空字符串。只不过 ""理论上重新开辟内存空间,而String.Empty指向一处。不过优化器会优化的!
3、string.Empty不分配存储空间, "“分配一个长度为空的存储空间,所以一般用string.Empty,为了以后跨平台,还是用string.empty。
4、在C# 中,大多数情况下 “” 和 string.Empty 可以互换使用。
如:
if (str== str1)
{
//
}
if语句成立。
5、string.Empty是在语法级别对”"的优化,而且从美观角度看,也占优势。
6、string.Empty性能效率优于 “”,且能满足跨平台使用;
总之,编程时,一般用string.Empty。