最近在做项目的时候出现了一个错误
当从数据库中获取值的时候
报错:空对象不能转换为值类型
因为数据库你查询数据的时候不是所有的字段都是存在数据的,有些字段可能是Null值,也就是没有数据
当你在类型转换的时候就有可能出现这种错误
在网上也查找了相关的资料,底子也不是特别的好
C#在2.0的使用引用的值类型和引用类型
引用类型可以初始化为NULL
值类型就不可以初始化为NULL
所以在你类型转化的时候,像int,decimal,datetime这种值类型为空的时候就会出现这种错误
我用的是ADO
如果你用过EF的话,在你的实体模型中 你可以看到,创建实体模型的时候,会自动把值类型加上Nullable<T>这种结构体
Nullable<T>表示该类型可以为空
所以当我们创建实体类的时候,如果数据可能会为空,我们要给值类型加上Nullable<T>这种,避免再出现这种错误
遇到问题,解决问题,记录问题!!!