亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

NULL和System.DBNull.Value之間有什么區別?

NULL和System.DBNull.Value之間有什么區別?

白衣非少年 2019-07-12 10:11:17
NULL和System.DBNull.Value之間有什么區別?NULL和System.DBNull.Value之間有什么區別嗎?如果是,那是什么?我現在注意到了這種行為-while (rdr.Read()){     if (rdr["Id"] != null) //if (rdr["Id"] != System.DBNull.Value)       {         int x = Convert.ToInt32(rdr["Id"]);     }}當我使用sql datareader從數據庫中檢索數據時,盡管沒有返回值。if(rdr["Id"] != null)退回來true并最終拋出一個異常,將空轉換為整數。但是,如果我用if (rdr["Id"] != System.DBNull.Value)回報false.NULL和System.DBNull.Value有什么區別?
查看完整描述

3 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

井,null不是任何類型的實例。相反,它是一個無效的引用。

然而,System.DbNull.Value的實例的有效引用。System.DbNull (System.DbNull是單身人士System.DbNull.Value提供對表示不存在的類的單個實例的引用。*值在數據庫中。

*我們通常會說null但我不想混淆這個問題。

所以,兩者在概念上有很大的區別。關鍵詞null表示無效引用。全班System.DbNull表示數據庫字段中不存在的值。一般來說,我們應該盡量避免使用相同的東西(在這種情況下)。null)表示兩個非常不同的概念(在本例中為無效引用,而不是數據庫字段中不存在的值)。

記住,這就是為什么很多人提倡使用空對象模式一般來說,這正是System.DbNull就是一個例子。


查看完整回答
反對 回復 2019-07-12
?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

的文件DBNull類:

不要混淆面向對象編程語言中的NULL概念和DBNull對象。在面向對象的編程語言中,NULL意味著缺少對象的引用.DBNull表示未初始化的變量或不存在的數據庫列。


查看完整回答
反對 回復 2019-07-12
  • 3 回答
  • 0 關注
  • 592 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號