从C#中的ArrayList获取特定值

时间:2015-06-06 06:23:36

标签: c# asp.net arraylist

我在Asp.net中使用ArrayList我想提取特定的项目。我的代码是

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



}

但这不起作用。我希望得到像

这样的价值
v.myvalue;

我的集会员充满了来自prevoius页面的几件物品。

1 个答案:

答案 0 :(得分: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>),不仅是为了提高性能,还是为了易用性。