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

能否使用循环替代代码中重复编写的if/else条件判断语句

替换if/else的实现方案

当然可以,替换后代码冗余度会大幅降低,后续要调整随机数生成数量也不用逐个修改if/else分支,具体实现思路如下:

  1. 把离散声明的5个number变量替换为数组,通过循环批量生成随机数,避免重复编写相同的赋值逻辑
  2. 直接根据id1的取值累加数组对应项得到total,和原有业务逻辑完全一致
  3. 额外补充边界校验避免id1超出1~5的范围时出现数组越界异常

优化后的代码如下:

// 批量生成5个随机数存入数组
int[] numbers = new int[5];
for (int i = 0; i < numbers.Length; i++)
{
    numbers[i] = random.Next(id2) + 1;
}

// 边界校验,可根据你的业务需求调整异常处理逻辑
if (id1 < 1 || id1 > 5)
{
    // 这里可以返回自定义错误,或者做其他处理
    return Json("invalid id1");
}

// 累加前id1项得到total
int total = 0;
for (int i = 0; i < id1; i++)
{
    total += numbers[i];
}

string newmessage = "message";
return Json(newmessage);

注意:你原有代码中id1=5的分支里累加的是numberOne + numberTwo + numberThree + numberFive,漏了numberFour,如果这不是特殊业务逻辑只是笔误,上面的代码可以直接使用;如果是刻意设计的特殊逻辑,只需在累加循环里针对id1=5的场景跳过数组索引为3的项(对应原numberFour)即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 09:06:05