我正在尝试检查DBNull.Value
,但在这种情况下,reader["Preferences"]
会在即时窗口中返回{}(为什么?)
所以当(string)reader["Preferences"];
执行时,我会收到类型转换错误
if (reader["Preferences"] == System.DBNull.Value)
{
preferences = (string)reader["Preferences"];
}
答案 0 :(得分:1)
您只是在值 DBNull.Value
时尝试投射。
您应该反转if
:
if (reader["Preferences"] != System.DBNull.Value)
{
preferences = (string)reader["Preferences"];
}