首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>网络编程>asp.net>资讯:.NET,你忘记了么?(三)——关于Array和List的使用

.NET,你忘记了么?(三)——关于Array和List的使用

www.jz123.cn  2010-10-03   来源:   中国建站    责任编辑(袁袁)    我要投递新闻

  之前,一直在谈.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(数组),有人会说,这样的关系大么?

上一篇:.NET,你忘记了么?(二)——使用using清理非托管资源 下一篇:.NET,你忘记了么?(三续)——重新理解List<T>

评论总数:0 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图