Неявное приведение результата оператора Null-Coalescing

При следующем понимании оператора объединения NULL (??) в C #.

int? input = -10;
int result = input ?? 10;//Case - I
//is same as:
int result = input == null? input : 10; // Case - II

Хотя по определению и использованию Случай I и Случай II одинаковы.

Удивительно видеть, что в Case-I компилятор может неявно приводить int? в int, а в Case-II отображается ошибка: «Ошибка 1 не может неявно преобразовать тип int?» to 'int' "

Что мне не хватает в операторе объединения с нулевым значением?

Спасибо за проявленный интерес.

6
задан akjoshi 18 January 2012 в 10:08
поделиться