如何在C#中键入Cast null作为Bool?

B.B*_*dan 9 c# casting boolean nullable

我有一个无效的bool(bool?)变量,它保持一个值null.还有一个类型为pure的变量bool,我试图将null-bool转换为bool.但是,我面临着一个错误" 可空对象必须有一个值. "

我的C#代码是

bool? x = (bool?) null;
bool y = (bool)x;
Run Code Online (Sandbox Code Playgroud)

Kir*_*kiy 22

使用x.GetValueOrDefault()到(默认值分配falseSystem.Boolean),以y在事件x.HasValue == false.

或者你可以使用null-coalescing运算符(??),如下所示:

bool y = x ?? false;
Run Code Online (Sandbox Code Playgroud)