我正在尝试转换可为null的bool值,并且出现此错误。

Cannot implicitly convert type 'bool?' to 'bool'. An explicit conversion exists (are you missing a cast?)

例如:
public virtual bool? MyBool
  {
    get;
    set;
  }

if (!MyBool){}

最佳答案

由于错误状态,您不能在条件中使用bool?。 (如果是null会发生什么?)

相反,您可以编写if (MyBool != true)if (MyBool == false),具体取决于您是否要包含null。 (并且您应该添加一条说明)

10-06 09:10