将Nullable <bool>转换为bool

-1 c# c#-4.0

我有一个例外:

无法隐式转换类型'bool?' 'bool'.存在显式转换(您是否错过了演员?).

代码:

 xEnable = was.xEnable;
Run Code Online (Sandbox Code Playgroud)

xEnable 是DB中的可空列.

Mih*_*hai 13

这意味着

xEnable is of type bool 
Run Code Online (Sandbox Code Playgroud)

was.xEnable is of type bool? (ie: nullable bool)
Run Code Online (Sandbox Code Playgroud)

做点什么

xEnable = was.xEnable.HasValue ? was.xEnable.Value : false;
Run Code Online (Sandbox Code Playgroud)

其中false是默认值,例如was.xEnable == null

编辑 或如果你真的想要你可以用户操作员喜欢

xEnable = was.xEnable ?? true;
Run Code Online (Sandbox Code Playgroud)

要么

xEnable = was.xEnable ?? false;
Run Code Online (Sandbox Code Playgroud)