bool? 可以为 null 的类型可以包含三个不同的值:true.false 和 null.因此,bool? 类型不能用于条件语句,如 if.for 或 while.例如,此代码无法编译,并将报告编译器错误 CS0266: bool? b = null; if (b) // Error CS0266. { } 这是不允许的,因为 null 在条件上下文中的含义并不清楚.若要在条件语句中使用 bool?,请首先检查其 HasValue 属性以确保其值不是 null,然后将它强制转换为 bool.…