Как получить конкретную информацию из списка сеансов

#c# #asp.net #list #session

#c# #asp.net #Список #сеанс

Вопрос:

 (List<Fruit>)Session["listSession"]
  

список сеансов создается на моей домашней странице.
и я хотел бы получить доступ к информации на другой странице

Я хотел бы выполнить цикл throw

 if ((List<Fruit>)Session["listSession"].name == "apple ")
{
item.(access a method in my fruit class)
}else {
// do something else
}

  

Комментарии:

1. Где находится ArrayList? Session["listSession"] кажется, содержит a List<Fruit> , которое не является ArrayList .

Ответ №1:

 List<Fruit> fruits = Session["listSession"] as List<Fruit>;
if(fruits != null)
{
    foreach(Fruit fruit in fruits)
    {
        if(fruit.name=="apple")
            fruit.Method();
        else
            //do something else
    }
}
  

Ответ №2:

Здесь пара моментов: вы можете просто взять экземпляр из списка сеансов as a и сохранить ссылку на него, затем вы можете проверить, что это что-то (не null ) и что оно содержит что-то, что также является чем-то (если имеет значение null), прежде чем брать ссылку на это и выполнять желаемые действия:

 var fruitList = Session["listSession"] as List<Fruit>;
if (fruitList != null amp;amp; fruitList.Count > 0) 
{
    var fruit = fruitList[0];
    if (fruit != null amp;amp; fruit.name == "apple ")
    { 
        fruit.Consume();
    }
}
  

Это должно помочь, хотя я уверен, что вам нужно будет использовать это для достижения вашей цели.

Комментарии:

1. Вы забыли return ResponseType.Yum;

2. Спасибо вам всем за ответ, который я получил, вот что я сделал. foreach (var item in (List<Fruit>)Session[«listSession»]){ if (item.getFruitName().Equals(fruitname)){ // разрабатываю код здесь }else { //сообщение об ошибке } } Но следующая проблема, с которой я сталкиваюсь сейчас, заключается в том, что когда я получаю нужный фруктовый элемент, мне также нужно проверить, съедобен ли этот фрукт. у меня есть метод, который возвращает значение true или false при его вызове

3. но когда я делаю item.isEdible == true; компилятор выдает мне ошибку, операнд не может быть применен к группе методов, как мне передать это

4. я знаю, что не читается, но Веб пока не позволяет мне ответить на мой собственный вопрос: (

5. @CMP При вызове метода необходимо указывать в круглых скобках: item.isEdible() == true; По мере получения дополнительных вопросов я рекомендую вам выполнить поиск или опубликовать другой вопрос, если вы не можете найти соответствующий ответ. 🙂