1、
string str = null
是不给他分配内存空间
,
而
string str = ""
给它分配长度为空字符串的内存空间。
2、string str=string.Empty;相当于string str=null;str="";
string是引用类型:
string str= null 没有创建内存空间,str中存放的是空引用指针.
string str="" str中存放的是指向堆中的指针。有指向
简单地说:
string str ="";
给你一张白纸;
string str = null;
连白纸也没有。
string.Empty就相当于"" 一般用于字符串的初始化
判定为空字符串的几种写法,按照性能从高到低的顺序是:
s.Length == 0 优于 s == string.Empty 优于 s == ""