2015-06-06 8 views
0

Я использую ArrayList в Asp.net. Я хочу извлечь определенные элементы. Мой код:получить определенное значение от ArrayList в C#

ArrayList items = (ArrayList)Session["mycart"]; 
foreach(var v in items) 
{ 



} 

но это не работает. Я хочу получить значение, как

v.myvalue; 

Мой arralist заполнен несколькими пунктами, исходящими от страницы prevoius.

+0

Используйте 'List ' вместо 'ArrayList' – adatapost

+0

Возможный дубликат [C# Получить свойство объекта из ArrayList] (http://stackoverflow.com/questions/3669392/c-sharp-get-object-property-from- arraylist) –

ответ

3

Проблема заключается в том, что ArrayList хранит все элементы как object. Вам нужно выполнить приведение к типу объекта, который содержит myvalue. Например

ArrayList items = (ArrayList)Session["mycart"]; 
foreach(var v in items) 
{ 
    MyObject o = v as MyObject; 
    if (o != null) 
    { 
     // do stuff with o.myvalue 
    } 
} 

Это может быть лучше просто использовать общий List класс, а ArrayList, хотя вы можете иметь совершенно причин поступить иначе. Как правило, вы должны использовать общий (например, List<MyObject>) не только для производительности, но и для удобства использования.

+0

Точно я изменил ArrayList на общий список и теперь его работу –

Смежные вопросы