#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"]
кажется, содержит aList<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;
По мере получения дополнительных вопросов я рекомендую вам выполнить поиск или опубликовать другой вопрос, если вы не можете найти соответствующий ответ. 🙂