c# - 使用 C# 将 if 条件转换为三进制
问题描述
我想使用三元运算符来分解 if 条件。
我知道这个过程:condition ? consequent : alternative
我有以下if条件:
if (!myField.IsNullOrNa())
{
messageErreur += myField.IsDecimalWithMessage(nameof(myField));
}
我想写:
messageErreur += !myField.IsNullOrNa() ? myField.IsDecimalWithMessage(nameof(myField)) :
我必须写什么作为替代?
解决方案
如果您有多个字段要检查,只需创建一个基于条件(布尔值)返回字符串(或空)的小型辅助方法:
messageErreur += Check(!myField.IsNullOrNa(), myField.IsDecimalWithMessage(nameof(myField));
messageErreur += Check(myField.HasError(), myField.HasError(nameof(myField));
private string Check(bool condition, string message) => condition ? message : string.Empty;
推荐阅读
- javascript - obj.hasOwnProperty 不是 Firebase 数据库查询中的函数错误
- sql - 重置窗口函数的计数器
- javascript - Ammo js旋转运动学对象
- reactjs - 在 reducer 函数中更改操作对象的类型
- javascript - 使用时刻 js 格式化 OffsetDataTime 时不显示本地时区
- c++ - 是否是取消引用指针的UB?
- android - 需要在使用 MLKit 和 Camera2 进行人脸检测期间捕获静止图像
- elasticsearch - 使用 Term/Range 查询时查找 0 值的问题
- wcf - 无法从客户端成功发布到 WCF WSDL 服务
- cocoa - NSBox/NSTitleCell 可以不是 NSTextFieldCell 吗?