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

如何在C#的Switch Case中执行其他Case的逻辑代码?

在C# Switch中复用其他Case逻辑的方法

方法一:使用goto跳转结合条件控制

如果希望case 5执行case 3和case 4的逻辑,同时保留case 3、case 4单独执行时的原有行为,可以通过goto加条件break实现:

switch(foo) 
{     
    case 3:     
        goto Case3Logic;
    case 4:     
        goto Case4Logic;
    case 5:     
        goto Case3Logic;

    Case3Logic:
        // something(case3的逻辑)
        if (foo != 5) break; // 仅非case5场景执行完跳出
    Case4Logic:
        // something else(case4的逻辑)
        break;
}

这个结构的执行逻辑:

  • 当foo=3时,执行Case3Logic后直接break,不会触发Case4Logic
  • 当foo=4时,直接执行Case4Logic后break
  • 当foo=5时,先执行Case3Logic,因foo!=5不成立,不触发break,自动流转到Case4Logic执行,最后break

方法二:调整Case顺序利用Goto流转

也可以通过调整case顺序,让case 5直接触发case 3的逻辑,再通过条件判断流转到case 4:

switch(foo) 
{     
    case 3:     
        // something(case3的逻辑)
        if (foo !=5) break; // 非case5场景执行完跳出
    case 4:     
        // something else(case4的逻辑)
        break;
    case 5:
        goto case 3; // 触发case3逻辑,进而流转到case4
}

这种方式下:

  • foo=3执行完自身逻辑后直接break
  • foo=4直接执行自身逻辑后break
  • foo=5通过goto进入case3,执行完后因foo!=5不成立,继续执行case4的逻辑,最后break

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 14:05:30