如何创建动态数组

时间:2010-11-28 18:12:03

标签: c# asp.net arrays session-variables dynamic-arrays

为用户创建动态数组以将产品添加到购物篮然后将它们存储在会话变量中的最佳方法是什么?我被告知可以使用可串行化的数组工作但是当我在线查找解决方案时,我遇到了ArrayList这似乎很完美,但我似乎无法实现它。

我有一个名为Basket的单独的类,其中包含:

ArrayList basketItems = new ArrayList();

我需要能够使用select链接从gridview中选择产品,或者使用listview并使用我自己的按钮然后将bookID添加到数组中,然后将其存储在会话中变量并发送到一个篮子页面,其中bookID将再次用于SQL表以输出书籍的详细信息等。

2 个答案:

答案 0 :(得分:4)

ArrayList是解决此问题的常用.NET 1.x解决方案。如果您使用的是.NET 2.0或更高版本,请使用简单的通用列表(List<T>)。

像这样:

var myIDs = new List<int>();

您可以使用Add方法添加项目。

myIDs.Add(2);
myIDs.Add(42);

您可以通过以下方式将其分配给会话变量:

Session["IdList"] = myIDs;

你可以恢复它:

var stuff = (List<int>)Session["IdList"];

希望这有帮助

答案 1 :(得分:2)

如果我们在2003年那么是,ArrayList本来可以正常工作,但现在我建议您使用通用的List<T>,这将是类型安全的,您不需要进行投射。

所以你可以拥有以下集合:

List<int> productIds = new List<int>();
productIds.Add(1);
productIds.Add(2);