程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> NULL,"",String.Empty三者在C#中的區別,

NULL,"",String.Empty三者在C#中的區別,

編輯:C#入門知識

NULL,"",String.Empty三者在C#中的區別,


(1)NULL
null 關鍵字是表示不引用任何對象的空引用的文字值。null 是引用類型變量的默認值。那麼也只有引用型的變量可以為NULL,如果int i=null,的話,是不可以的,因為Int是值類型的。


(2)""和String.Empty
   這兩個都是表示空字符串。只不過""理論上重新開辟內存空間,而String.Empty指向一處。不過優化器會優化的!

   string.Empty不分配存儲空間, ""分配一個長度為空的存儲空間,所以一般用string.Empty,為了以後跨平台,還是用string.empty。

在C# 中,大多數情況下 "" 和 string.Empty 可以互換使用。比如:

string s = "";

string s2 = string.Empty;

if (s == string.Empty) {//} if語句成立


(3)判定為空字符串的幾種寫法,按照性能從高到低的順序是:

s.Length == 0 優於 s == string.Empty 優於 s == ""

注意:

   1.string str1="" 和 string str2=null 的區別。

str1是一個空字符串,空字符串是一個特殊的字符串,只不過這個字符串的值為空,在內存中是有准確的指向的,

string str2=null,這樣定義後,只是定義了一個string 類的引用,str2並沒有指向任何地方,在使用前如果不實例化的話,都將報錯。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved