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

C#代码打包为NuGet包后计算结果异常求助

问题:NuGet包中条件判断函数返回结果异常

我有一个条件判断函数,本地测试运行时返回结果完全正确,但将其打包成NuGet包供其他项目引用后,偶尔会出现结果错误。例如:当逻辑上num=1且num2=0时,本应返回1,实际却返回了4。

构建后的近似代码

public int GetNumber()
{
    int num = (condition1 ? 3 : (condition2 ? 1 : 2));
    int num2 = (condition3 ? 6 : (condition4 ? 3 : 0));
    return num + num2;
}

已尝试的排查步骤

  • 曾尝试在代码中添加中间变量辅助调试,但VS构建时会自动优化移除这些变量。
  • 已通过设置断点尝试排查问题,但仍无法定位异常原因。

原始代码

public int Get9Box(Measurements measurements, Parameters parameters)
{
    int bathBox = 0;
    int liquidusBox = 0;
    if (measurements.CurrentBathTemperature > parameters.BathTargetTemperature + parameters.DeadBand)
    {
        bathBox = 3;
    }
    else if (measurements.CurrentBathTemperature < parameters.BathTargetTemperature - parameters.DeadBand)
    {
        bathBox = 1;
    }
    else
    {
        bathBox = 2;
    }

    if (measurements.AverageLast4Liquidus > parameters.LiquidusTargetTemperature + parameters.DeadBand)
    {
        liquidusBox = 6;
    }
    else if (measurements.AverageLast4Liquidus < parameters.LiquidusTargetTemperature - parameters.DeadBand)
    {
        liquidusBox = 0;
    }
    else
    {
        liquidusBox = 3;
    }
    int result = bathBox + liquidusBox;
    return result;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 22:52:32