我有一个带有列的表提供者
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/