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

C#嵌套If语句的Else条件处理及实现方案问询

合并嵌套If分支以覆盖目标场景

我需要让两种情况进入else分支:

  • 满足Scenario 1但不满足Scenario 2
  • 不满足Scenario 1

原有嵌套If代码如下:

if (!BoxA_IsNull && !BoxB_IsNull && !BoxC_IsNull && !BoxD_IsNull) //Scenario 1
{
    if (BoxA == BoxB && BoxC == BoxD) //Scenario 2
    {
        //Do something
    }
}
else
{
    // Do something else if 
    // 1) Scenario 1 hits but not scenario 2
    // 2) Scenario 1 does not hit
}

但这段代码里,满足Scenario 1却不满足Scenario 2的情况无法进入else分支。最终我调整为将两个条件合并成一个顶层判断:

if ((!BoxA_IsNull && !BoxB_IsNull && !BoxC_IsNull && !BoxD_IsNull) && (BoxA == BoxB && BoxC == BoxD))
{
    //do something
}

关键说明

这么做既能让所有不符合合并条件的情况(也就是原需求里的两种else场景)都进入后续的else逻辑,同时还能保证先完成空值检查,再执行对象比较,避免触发空引用异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 03:31:02