【问题标题】:ASP.NET looping through jagged array stored in sessionASP.NET 循环遍历存储在会话中的锯齿状数组
【发布时间】:2011-01-20 08:05:24
【问题描述】:

我对存储在 ASP.net 会话中的锯齿状数组有一些问题我有一些代码创建一个锯齿状数组,它们填充,然后将这个填充的锯齿状数组存储到会话中

protected string[][] answersJArray;
answersJArray[0] = new string[4]("test","test1","test2","test3"};
answersJArray[1] = new string[4]("test","test1","test2","test3"};
Session.Add("answersJArray", answersJArray);

我将如何遍历会话中的每个锯齿状数组?如果他们不在会话中,我不,我可以执行以下操作

    for (j = 0; j < answersJArray[1].Length; j++)
    {
        label.Text = (answersJArray[1][j].ToString());
    }

我将如何通过循环会话来完成上述操作??

谢谢

【问题讨论】:

    标签: asp.net session jagged-arrays


    【解决方案1】:

    首先声明一个交错数组变量,然后像这样从会话变量中转换它:

    string[][] answersJArray = (string[][])Session["answersJArray"];
    

    然后你可以像你打算的那样循环遍历数组:

        for (j = 0; j < answersJArray[1].Length; j++)
        {
            label.Text = (answersJArray[1][j].ToString());
        }
    

    【讨论】:

    • 说我有一个存储在会话中的数组列表,我将如何访问这个数组列表?所以例如我有... protected ArrayList arrAnswers = new ArrayList(); ...然后我添加一些东西...然后将其添加到会话中,我将如何从会话中再次访问它??
    • 与您访问锯齿状数组的方式非常相似。你用 Session.Add("myArrayList", arrAnswers); 添加它然后通过声明一个 ArrayList 并从会话变量中转换它来访问它,如下所示: ArrayList arrAnswers = (ArrayList)Session("myArrayList");
    【解决方案2】:

    不应该太强硬。您可以将对象从会话中取出并将其转换为字符串 []。如果它是一个局部变量,您可以检查它的长度并以这种方式进行迭代。我可能误解了您的问题,但我是否遗漏了一些东西,说将变量从 Session 映射中取出,以便您可以将其作为强类型使用?

    【讨论】:

      猜你喜欢
      • 2016-06-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-04
      • 2017-04-19
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      相关资源
      最近更新 更多