Что происходит при условии false
? Это:
double h = "";
Значение string
не может быть установлено равным double
. По умолчанию для double
вместо этого будет 0
:
double h = model.WorkHours.Value >= 0 ? model.WorkHours.Value : 0;
Или, как можно более конкретно:
double h = model.WorkHours.Value >= 0 ? model.WorkHours.Value : 0.0d;
Вы также можете положиться на default
, если вы например:
double h = model.WorkHours.Value >= 0 ? model.WorkHours.Value : default(double);
Если вы хотите, чтобы значение действительно было пустым , вы можете рассмотреть возможность использования double?
(сокращение для Nullable<double>
):
double? h = model.WorkHours.Value >= 0 ? model.WorkHours.Value : new Nullable<double>();