ASP.NET перебор неровного массива, хранящегося в сеансе
-
22-09-2019 - |
Вопрос
у меня возникли некоторые проблемы с неровными массивами, хранящимися в сеансе для 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());
}
как бы я сделал вышеописанное , прокручивая сеанс в цикле??
Спасибо
Решение
Сначала объявите переменную с зазубренным массивом и приведите ее из переменной сеанса следующим образом:
string[][] answersJArray = (string[][])Session["answersJArray"];
Затем вы можете выполнить цикл по массиву, как вы и собирались:
for (j = 0; j < answersJArray[1].Length; j++)
{
label.Text = (answersJArray[1][j].ToString());
}
Другие советы
Не должно быть слишком сложно.Вы можете вывести объект из сеанса и преобразовать его в строку[].Если это локальная переменная, вы можете проверить ее длину и выполнить итерацию таким образом.Возможно, я неправильно понимаю вашу проблему, но я что-то упускаю, говоря, извлеките переменную из карты сеанса, чтобы вы могли работать с ней как со строгим типом?