.NET,你忘记了么?(三)——关于Array和List的使用2011-04-12 博客园 飞林沙之前,一直在谈.NET框架方面的问题,今天来谈谈关于Array和List的使用问题,这应该 算是属于算法的最基础的东西了。只是提醒大家对这个问题稍加注意。写这个是因为一个同学的求助,事情是这样的,他去负责公司的一个培训模块,在培训模 块中,有一个功能是自动成卷。然后,我们会很容易地想到洗牌算法。于是我给他大概解释 了洗牌算法的过程和步骤,然后他给出了这样的代码,还很骄傲地告诉我,他使用了泛型… …List<int> list = new List<int>(); for (int i = 0; i < 10; i++) { list.Add(i); } Random r = new Random(); for (int j = 0; j < 100; j++) { int temp; int x1 = r.Next(10); int x2 = r.Next(10); temp = list[x1]; list[x1] = list[x2]; list[x2] = temp; }我委婉地告诉他,他这个方法不好,然后写下了下面的代码:int[] array = new int[10]; for (int i = 0; i < 10; i++) { array[i] = i; } Random r = new Random(); for (int j = 0; j < 100; j++) { int temp; int x1 = r.Next(10); int x2 = r.Next(10); temp = array[x1]; array[x1] = array[x2]; array[x2] = temp; }他很不屑地对我说,不是都一样么!而且还在以使用了泛型为豪!我无语……我仅仅把List(链表)换成了Array(数组),有人会说,这样的关系大么?