if условие с допускающим значение NULL

Есть много синтаксического сахара с Nullable , например:

int? parsed to Nullable<int>

int? x = null
   if (x != null) // Parsed to if (x.HasValue)

x = 56; // Parsed to x.Value = 56;

И многое другое.

Почему if условие с Nullable не работает?

if (x)
{} 

Выдается ошибка Complier, в которой говорится, что невозможно преобразовать Nullable в bool .
Почему он не анализируется на if (x.HasValue && x.Value == true) или что-то подобное?

Это наиболее очевидное использование для Nullable

7
задан gdoron is supporting Monica 18 January 2012 в 14:22
поделиться