null是空引用,表明string不指向任何字符串的引用
string.Empty和“”没什么太大区别
主要可能的区别是string.Empty是string的静态字段,所以常驻在字符串的缓存中,而“”则不一定
比如
string a=string.Empty
string b=string.Empty
则a和b指向的肯定是同一对象
string a=""
string b=""
a和b有可能指向同一对象,也有可能指向了不同对象,但对象的内容都是""
用杯子装水举例,
Null表示这个杯子根本不存在!
“”表示有杯子,但杯子中是空的,没有水。。。
null和string.Empty都是空引用,
不过null没有在磁盘上开辟空间,而string.Empty在磁盘上开辟了空间,占据了一个位子