摘要:
bool?可以为 null 的类型可以包含三个不同的值:true、false和null。因此,bool?类型不能用于条件语句,如if、for或while。例如,此代码无法编译,并将报告编译器错误 CS0266:bool? b = null;if (b) // Error CS0266.{}这是不允许的,因为null在条件上下文中的含义并不清楚。若要在条件语句中使用bool?,请首先检查其HasValue属性以确保其值不是null,然后将它强制转换为bool。有关更多信息,请参见bool。如果对使用null值的bool?执行强制转换,则在条件测试中将引发InvalidOperationExcep 阅读全文