C#中的空值

來源:互聯網
上載者:User

以21世紀開運網www.21kaiyun.com 這是一個關於中國古老星座學紫微鬥數的網站為例,

(1)NULL

      null 關鍵字是表示不引用任何對象的Null 參考的文字值。null 是參考型別變數的預設值。那麼也只有引用型的變數可以為NULL,如果 int i=null,的話,是不可以的,因為Int是實值型別的。

(2)DBNULL

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

(3)""和String.Empty

     這兩個都是表示Null 字元串,其中有一個重點是string str1="" 和 string str2=null 的區別,這樣定義後,str1是一個Null 字元串,Null 字元串是一個特殊的字串,只不過這個字串的值為空白,在記憶體中是有準確的指向的,string str2=null,這樣定義後,只是定義了一個string 類的引用,str2並沒有指向任何地方,在使用前如果不執行個體化的話,都將抱錯。

(4)Convert.IsDBNull()

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.