Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用'时,避免更改变量的状态;会议';在C中#_C#_Asp.net - Fatal编程技术网

C# 使用'时,避免更改变量的状态;会议';在C中#

C# 使用'时,避免更改变量的状态;会议';在C中#,c#,asp.net,C#,Asp.net,我想保存计算结果(分配给变量“ans”)以供第二次请求。为此,我使用Session。 尽管它在第一个请求中起作用,但当我想在第二个请求(else语句)中调用该变量时,会出现以下错误:“无法对“object”类型的表达式应用带[]的索引” 变量的状态是否通过将其保存到会话或从会话访问而改变 第二个请求的“ans”和“ansTemp”格式都是5项元组的两倍 private Dictionary<string,int> DoCalculation(CalculatorModel model

我想保存计算结果(分配给变量“ans”)以供第二次请求。为此,我使用Session。 尽管它在第一个请求中起作用,但当我想在第二个请求(else语句)中调用该变量时,会出现以下错误:“无法对“object”类型的表达式应用带[]的索引”

变量的状态是否通过将其保存到会话或从会话访问而改变

第二个请求的“ans”和“ansTemp”格式都是5项元组的两倍

private Dictionary<string,int> DoCalculation(CalculatorModel model)
{
        var ansTemp = Session["ANS"];
        Dictionary<string, int> calculatedValues = new Dictionary<string, int>();
        if (ansTemp == null)
        {
            if (model != null)
            {
                Class1 clsOne = new Class1(pathToLib, pathToPyFile);
                try
                {
                    var ans = clsOne.CallFunction("first_chart", rootPythonDir, model.age);

                    //Session.Add("ANS", ans);
                    Session["ANS"] = ans;
                    var assetAllocationCategory = ans[1];

                 }
                 catch (Exception ex) { }
             }
         }
         else
         {
             var ans = ansTemp;
             var assetAllocationCategory = ans[1];
         }
}
private Dictionary doccalculation(计算器模型)
{
var ansTemp=会话[“ANS”];
字典计算值=新字典();
if(ansTemp==null)
{
如果(型号!=null)
{
Class1 clsOne=新的Class1(pathToLib,pathToPyFile);
尝试
{
var ans=clsOne.CallFunction(“第一张图表”,rootPythonDir,model.age);
//添加(“ANS”,ANS);
会话[“ANS”]=ANS;
var AssetLocationCategory=ans[1];
}
捕获(例外情况除外){}
}
}
其他的
{
var ans=Anstep;
var AssetLocationCategory=ans[1];
}
}

在访问会话[“ANS”]时,将ANSTTEMP定义为动态而不是var,解决了问题。

var-ansTemp=Session[“ANS”]分配
对象
ansTemp
,然后您通过
var ans=ansTemp分配给
ans
so
ans
也是对象。现在,对象类型不支持使用
[]
进行索引,这就是您看到此错误的原因。因此,您需要通过
var-ansTemp=Session[“ANS”]将
ansTemp
转换为您想要的类型。可能的重复