我从数据库中提取数据,然后检查它是否为真,如果是,我选中复选框。问题是该变量可能为空,然后抛出错误“System.InvalidCastException:指定的转换无效。”
有什么想法吗? 下面是运行良好的代码,除非它得到一个空字段。
if ((bool)myReader["Analytics"] == true) Analytics.Checked = true;
最佳答案
您可以使用 IsDBNull
DataReader
的方法。
if (!myReader.IsDBNull(myReader.GetOrdinal("Analytics")))
{
//not null. do your casting now.
}
关于c# - 如何转换可能为空的 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15768147/