C# 錯誤:空對象不能轉換為值類型


最近在做項目的時候出現了一個錯誤

當從數據庫中獲取值的時候

報錯:空對象不能轉換為值類型

因為數據庫你查詢數據的時候不是所有的字段都是存在數據的,有些字段可能是Null值,也就是沒有數據

當你在類型轉換的時候就有可能出現這種錯誤

在網上也查找了相關的資料,底子也不是特別的好

 

C#在2.0的使用引用的值類型和引用類型

引用類型可以初始化為NULL

值類型就不可以初始化為NULL

所以在你類型轉化的時候,像int,decimal,datetime這種值類型為空的時候就會出現這種錯誤

 

我用的是ADO

如果你用過EF的話,在你的實體模型中 你可以看到,創建實體模型的時候,會自動把值類型加上Nullable<T>這種結構體

Nullable<T>表示該類型可以為空

所以當我們創建實體類的時候,如果數據可能會為空,我們要給值類型加上Nullable<T>這種,避免再出現這種錯誤

 

遇到問題,解決問題,記錄問題!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM