c# - 如何将 bool 转换为可为 null 的 bool(bool?)

标签 c# .net winforms linq linq-to-entities

我有一个带有列的表提供者

                 implied(tiny int)(something like nullable bool)
                 providerid(int)

我有一个表单和一个复选框

我正在使用 c# 做 winforms 应用程序 ..

我正在使用实体,我的 dbcontext 名称是 dbcontext

如何在升 C 中将 bool 转换为可为空的 bool(bool?)。

我试过这种方法

      if (chkbox.checked == true)

            bool yes = 0;
        else

          bool   yes = 1;

        dbcontext.implied = yes;

但出现错误

Cannot convert bool to bool?

最佳答案

显式转换为 bool?

bool b = true;
bool? b2 = (bool?)b;

如果有兴趣,您可以将 bool? 转换为 bool。您可以通过首先检查 HasValue 来执行此操作,如果它为 null 则返回 false 或如果不为 null 则返回 true

如果它确实有值,您可以转换为 bool 值。

bool? b = null;
if (b.HasValue == false) // it's null
{
  //initialize b 
  b = false;
}
else if((bool)b == true)
{
  // do whatever
}

查看 http://msdn.microsoft.com/en-us/library/bb384091.aspx对于 bool ?到 bool 转换。

关于c# - 如何将 bool 转换为可为 null 的 bool(bool?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7663436/

相关文章:

c# - 从另一个表单显示一个表单

java - 如何在运行时验证客户端 WSDL 是否与服务器 WSDL 匹配?

c# - log4net smtp appender 不发送电子邮件

c# - 附件2中的附件字段未正确映射

c# - GroupBy 然后对每个组的结果进行聚合

c# - 检查是否在 .NET 中连接了第二台显示器(双显示器设置,带有坞站的笔记本电脑)

c# - 无法加载文件或程序集 'Microsoft.Office.Interop.Word, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'

c# - 如何使用 FlatStyle = Standard 删除按钮的白色边框

c# - 在命令窗口中从 Windows 窗体应用程序获取退出代码

c# - 从 .NET MVC Controller 获取压缩文件并在 javascript 中解压缩