Вы должны использовать MyBool.Value
, например:
if (!MyBool.Value) { }
Однако вы должны проверить, что оно действительно имеет значение для начала.Это проверяет, что MyBool имеет значение, и оно ложно.
if (MyBool.HasValue && !MyBool.Value) { }
Или вам может действительно потребоваться следующее, которое запускает блок кода, если он либо не был назначен, либо имеет значение false.
if (!MyBool.HasValue || !MyBool.Value) { }
Вопрос на самом деле сводится к тому, действительно ли вы намеревались иметь логическую переменную, допускающую значение NULL, и, если да, как вы хотите обработать 3 возможных условия null, true or false
.