bool? 什么意思 bool? isTrue;表示 bool isTrue = null ; 定义并给变量赋值为null;
解释见查看MSDN;
https://msdn.microsoft.com/zh-cn/library/bb384091(v=VS.90).aspx
如何:从 bool? 安全地强制转换为 bool(C# 编程指南)
Visual Studio 2008
更新:2007 年 11 月
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? 执行强制转换,则在条件测试中将引发 InvalidOperationException。下面的示例演示了一种从 bool? 安全地强制转换为bool 的方法: