null與空字符串主要區別如下:
1,null不指向任何對象,相當於沒有任何值;而“”代表一個長度為0的字符串
2,null不分配內存空間;而“”會分配內存空間
例如:
string str = null;//定義可空類型變量 str = str ?? "";//使用合並運算符 Console.WriteLine(str); //1000 Console.ReadLine();
結果是 :“”(控制台輸出為空)
注:
(1)單問號? 可用於對int,double,bool等無法直接賦值為null的數據類型進行null的賦值
(2)雙問號?? null合並運算符,如果此運算符的左操作數不為 null,則此運算符將返回左操作數(左邊表達式);否則當左操作數為 null,返回右操作數(右邊表達式)
