天天看點

C#中null,"",string.Empty的差別

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在磁盤上開辟了空間,占據了一個位子