程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#中空值的判斷

C#中空值的判斷

編輯:關於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語句成立

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

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

注意:

1.string str1="" 和 string str2=null 的區別。str1是一個空 字符串,空字符串是一個特殊的字符串,只不過這個字符串的值為空,在內存中 是有准確的指向的,string str2=null,這樣定義後,只是定義了一個string 類 的引用,str2並沒有指向任何地方,在使用前如果不實例化的話,都將報錯。

2.在net 2.0中可用String.IsNullOrEmpty(param)檢測是否為null或為空值。

當Request.QueryString的標識不存在時返回的是NULL,可以在空串上調用 string類的所有方法,但null不可以,不可以在null上調用方法。

(3)DBNULL

DBNull在DotNet是單獨的一個類型, 該類用於指示不存在某個已知值(通常在 數據庫應用程序中)。該類只能存在唯一的實例,DBNULL.Value, DBNull唯一作用 是可以表示數據庫中的字符串,數字,或日期,為什麼可以表示原因是DotNet儲 存這些數據的類(DataRow等)都是以 object 的形式來儲存數據的。對於 DataRow , 它的 row[column] 返回的值永遠不為 null , 要麼就是具體的為 column 的類型的值 。 要麼就是 DBNull 。 所以 row[column].ToString() 這 個寫法永遠不會在ToString那裡發生NullReferenceException。DBNull 實現了 IConvertible 。 但是,除了 ToString 是正常的外,其他的ToXXX都會拋出不能 轉換的錯誤。

您可以通過將從數據庫字段檢索到的值傳遞給 DBNull.Value.Equals 方法, 確定該字段值是否為 DBNull 值

(4)Convert.IsDBNull()

Convert.IsDBNull()返回有關指定對象是否為 DBNull 類型的指示,即是用來 判斷對象是否為DBNULL的。其返回值是True或Flase。

PS:本文經個人網上收集整理,並加入開發中遇到的問題,在此澄清請不要做 人身攻擊,本文的目的只是只是共享

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