c# - 在 C# 中使用三元运算符
问题描述
我在编写这行代码时遇到错误。我想检查该值是否等于并大于0
然后获取该值,否则为空或空。
double h = model.WorkHours.Value>=0 ? model.WorkHours.Value:"";
解决方案
条件为 时会发生什么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>();
推荐阅读
- c# - Checking for Collisions with Raycasts - 显然应该注册的 Collider 未注册
- c# - 计算文件中有多少个字母和哪些字母不能正常工作
- swift - 使用带有 UI 测试的 Cucumberish 从情节提要中加载控制器
- javascript - 机器人未在原始事件中添加角色
- javascript - 如何知道两个物体是否在同一个位置
- .net-core - 如何在 .NET Core 2 中更新身份用户角色的扩展 UserRole
- c# - Xamarin C# - 创建一个可滑动的 LinearLayout
- kotlin - seekbar.progress 需要预期的布尔类型
- android - 通过 Glide 将图像从画廊加载到 ImageView
- python - Python:多个文件中特定列的平均值和标准差,并用标准差条绘制平均值