Преобразовать обнуляемый бул? кипеть - PullRequest
105 голосов
/ 20 мая 2011

Как преобразовать обнуляемый bool? в bool в C #?

Я пробовал x.Value или x.HasValue ...

Ответы [ 11 ]

0 голосов
/ 03 сентября 2014

Это интересная вариация на тему.С первого и второго взгляда можно предположить, что взята истинная ветвь.Не так!

bool? flag = null;
if (!flag ?? true)
{
    // false branch
}
else
{
    // true branch
}

Чтобы получить то, что вы хотите, нужно сделать следующее:

if (!(flag ?? true))
{
    // false branch
}
else
{
    // true branch
}
...