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

C#如何获取IF语句块内的字符串变量并拼接后作为返回值

问题分析

你代码中的rescorr和reswron都属于块级局部变量,仅能在对应的if/else大括号内部被访问,离开代码块后就会失效,无法在方法的其他位置读取调用。

调整方案

场景1:按分支取对应字符串返回(常规需求,if/else为互斥分支,只会执行其中一个逻辑)

调整变量作用域,在方法层级提前声明结果变量,分支内赋值后直接返回即可:

public IActionResult TestingSample(int A, int B)
{
    string result = string.Empty;
    if (A > B && B != 0)
    {
        int corr = 2 + A * B;
        string rescorr = corr.ToString();
        result = rescorr;
    }
    else
    {
        int wron = 2 * A + B;
        string reswron = wron.ToString();
        result = reswron;
    }
    // 返回字符串结果,IActionResult类型可以用Ok()包装返回值
    return Ok(result);
}

如果需要给返回字符串加固定拼接内容,直接修改最后返回的result即可,比如return Ok("计算结果:" + result)。

场景2:确实需要拼接两个计算结果的字符串

因为if/else是互斥分支,原有写法无法同时得到两个值,需要把两个计算逻辑提到分支外部:

public IActionResult TestingSample(int A, int B)
{
    // 独立计算两个值,不受分支影响
    int corr = 2 + A * B;
    string rescorr = corr.ToString();
    int wron = 2 * A + B;
    string reswron = wron.ToString();
    // 拼接两个字符串
    string combineResult = rescorr + reswron;
    
    // 原有的分支逻辑如果还有其他处理可以保留,无其他需求直接返回拼接结果即可
    return Ok(combineResult);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 23:15:02