c# - 如何转换可能为空的 bool 值

标签 c# .net

我从数据库中提取数据,然后检查它是否为真,如果是,我选中复选框。问题是该变量可能为空,然后抛出错误“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/

相关文章:

c# - 谁能告诉我在 C# 中使用 XSD 验证 XML 时哪里出错了

c# - 我应该模拟框架类吗

c# - 选中列表框的选中项不起作用

.net - .NET中的声音设备仿真

c# - 我可以在 Visual Studio 中创建一个位于 .Designer.cs 文件旁边的文件吗?

c# - Nuget:如何使用 packages.config 重新创建我的包目录

c# - 在字符串列表中查找子字符串

c# - 系统引用缺少 Xamarin.Forms .NetStandard

c# - 选择 "Add New Item"并在 Visual Studio 中选择 "Component Class"时会生成什么代码?

.net - 如何通过 assembly 和 methoddef 找出方法名?