Чтобы второй случай работал с троичным оператором, вы можете использовать следующее:
int result = input != null ? input.Value : 10;
Свойство Value
типа Nullable<T>
возвращает значение T
(в данном случае, int
).
Другой вариант - использовать Nullable<T>.HasValue
:
int result = input.HasValue ? input.Value : 10;
Конструкция myNullableInt != null
является только синтаксическим сахаром для указанного выше вызова HasValue
.