首页 > 解决方案 > 在 C# 中使用三元运算符

问题描述

我在编写这行代码时遇到错误。我想检查该值是否等于并大于0然后获取该值,否则为空或空。

double h = model.WorkHours.Value>=0 ? model.WorkHours.Value:"";

标签: c#conditional-operator

解决方案


条件为 时会发生什么false?这个:

double h = "";

string不能将值设置为double. a 的默认值double是 a 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>();

推荐阅读