You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

代码优化:如何将多条件OR(||)语句简化为易读单行代码?

简化多行OR条件语句的可行方案

针对你给出的重复判断多个值的OR条件,有几种简洁且可读性强的优化方式:

1. 提取重复转换+集合包含判断

先把重复的Convert.ToByte(hfStatus.Value)操作提取为变量,避免重复计算,再用集合的Contains方法判断是否在目标值列表中:

byte status = Convert.ToByte(hfStatus.Value);
if (new HashSet<byte> { 3, 4, 5, 8, 9, 10, 11, 12 }.Contains(status))
{
    // 业务逻辑代码
}

这种方式适合目标值零散无规律的场景,后续维护时只需修改集合内的元素即可,可读性和扩展性都不错。如果是频繁判断的场景,建议把集合定义为静态常量,避免重复创建对象。

2. 使用C# 9+的模式匹配语法

C# 9及以上版本支持or模式匹配,直接在条件中写出所有目标值,语法简洁直观:

if (Convert.ToByte(hfStatus.Value) is 3 or 4 or 5 or 8 or 9 or 10 or 11 or 12)
{
    // 业务逻辑代码
}

这种写法最接近原逻辑的直观表达,不需要额外变量或集合,代码行数最少,可读性拉满。

3. 利用连续范围合并判断

观察目标值可以发现,它们刚好分成两个连续区间:3-5和8-12,可以直接用范围判断合并条件:

byte status = Convert.ToByte(hfStatus.Value);
if ((status >= 3 && status <= 5) || (status >= 8 && status <= 12))
{
    // 业务逻辑代码
}

这种方式代码最紧凑,执行效率也最高,适合目标值存在连续区间的场景。

内容的提问来源于stack exchange,提问作者Dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 08:47:34