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

C#报错「使用未赋值且当前上下文不存在的局部变量」如何解决

问题原因

  • 你把totalCost变量定义在了foreach循环内部,这个变量的作用域仅局限于单次循环的执行块,循环结束后就会被销毁,外部自然无法访问。
  • 你把变量移到循环外部后无法使用,是因为没有给局部变量设置初始值,C#语法要求局部变量在参与运算、作为参数传递前必须完成初始化,否则会触发编译报错。

修正后的代码

public void PayForConcessions()
{
    // 将totalCost定义在方法作用域内,同时赋初始值0
    decimal totalCost = 0;
    foreach (ConcessionItem ci in concessionItems)
    {
        totalCost += ci.Price;
    }

    this.RemoveMoney(totalCost);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 09:36:04