bool? 是可以为 null 的类型,他可以包含三个不同的值:true、false 和 null;
但是有时候需要将前端传递过来的bool?类型转换为后端model的bool类型;
因为后端model属性以前定义好了,现在不好修改为bool?,这时候不可直接赋值会报错;
这时候我们可以这样操作:
if (test?.field != null)
{
model.field= (bool) test?.field ;
}
这是一种从 bool? 安全地强制转换为 bool 的方法;
首先检查确保其值不是 null,然后将它强制转换为 bool。如果值为 null 值的 bool? 执行强制转换,则在条件测试中将引发 InvalidOperationException。