null和System.DBNull.Value之间有什么区别吗?如果是,那是什么?
我现在注意到了这种行为 -
while (rdr.Read())
{
if (rdr["Id"] != null) //if (rdr["Id"] != System.DBNull.Value)
{
int x = Convert.ToInt32(rdr["Id"]);
}
}
Run Code Online (Sandbox Code Playgroud)
虽然我使用sql datareader从数据库中检索数据,但是没有返回if(rdr["Id"] != null)返回的值,true并最终抛出异常以将null转换为整数.
但是,如果我使用if (rdr["Id"] != System.DBNull.Value)返回false.
null和System.DBNull.Value之间有什么区别?