日期:2014-05-17  浏览次数:20462 次

求理论基础解答,数组以及购物车问题
求大牛们帮助解疑:

一,数组大小有没有限制?

C# code
string[] a = { "1,1,1,1", "2,2,2,2", "3,3,3,3", "4,4,4,4", "5,5,5,5", "6,6,6,6", "a,a,a,a", "b,b,b,b", "1,38,a1,10" };
                for (int i = 0; i < a.Length; i++)
                {
                    this.Label1.Text += a[i].ToString()+"<br>";
                }


长度为9.如果是一千个。或者一万个。行不行?有没有限制?



二,关于购物车的设计

这几天看了网上好多COOKIE购物车的结构。一般都是以子键来保存COOKIE的。
比如:
Request.Cookies["Cart"]["ID"]=…………
Request.Cookies["Cart"]["NUM"]=…………

这种的结果一般是对应的
如果要输出这些COOKIE的话。
那么

ID=1,2,3,4,5...这是产品ID
NUM=8,20,2,6,11...这是购买数量
AABB=G,D,E,Q,A...其他产品属性等

这样的话。就等于是ID=3的产品数量是2,其他属性为:E


我的想法是。直接将购物车单笔订单的内容以字符串的形式保存到COOKIE
买一个产品就直接加到数组里去

比如:
{"1,8,G","2,20,D","3,2,E","4,6,Q"....}


这两种形式哪种更好一些呢。


三,COOKIE中保存产品价格是否合适?

购物车的COOKIE中一般都是保存哪些内容呢?比如一般的基本上都是保存产品ID,数量。尺寸,颜色等等。

如果价格不通过COOKIE保存的话。光是上面这些内容是否需要对COOKIE进行加密?


------解决方案--------------------
数组大小有限制!!!!
------解决方案--------------------
数组肯定有大小,没大小的东西是不存在的,硬件永远决定软件。
废话,呵呵。
------解决方案--------------------
一,数组大小有没有限制?

有限制,如果数据太大容易造成堆栈溢出
二,关于购物车的设计

第二种方法也可以,一般购物车都是将产品编号和数量放入cookies或session,通过他们传递值。各有各的缺点和优点。

三,COOKIE中保存产品价格是否合适?
不适合长久保存,可以在打开页面的时候将价格暂时保存到cookies,在重新打开页面的时候再从数据库读取一下,因为有的用户有可能禁用cookies,有的可能清空了cookies,说不定有的黑客伪造cookies进行cookies欺骗


个人看法,如有错误请指出
------解决方案--------------------
探讨

引用:
在网站中,无论数组是局部变量还是成员变量,一般情况下用完都会自动被回收的,这个不用你担心。跟Session是两码事,当然数组可以保存在Session变量中。


比如像
C# code
string[] a = { "1,1,1,1", "2,2,2,2", "3,3,3,3", "4,4,4,4", "5,5,5,5", "6,6,6,6", "a,a,a……

------解决方案--------------------
string[] a = Request.Cookies["Cart"].Value.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);