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
抛出了将 null 转换为整数的异常。
但是,如果我使用if (rdr["Id"] != System.DBNull.Value)
return false
。
null 和 System.DBNull.Value 有什么区别?