日期:2014-05-18  浏览次数:20468 次

c#从数组中随机抽取出一组数据
做一个考试系统的项目,现在从试题库里面随机抽取20道题

比如我题库有500道题(ID不连续)

这500道题的ID组成一个整型数组,现在要在这个整型数组中随机抽取20道题形成另外的一个整型数组,要求不能取重复的项.

如何实现,各位大侠帮帮忙.

------解决方案--------------------
随即获取题目ID 保存进ArrayList里```有重复的就不加入``没重复的就加如```到20个就OK了撒```
------解决方案--------------------
C# code

ArrayList arrP = new ArrayList();
//init arrP;//题库中题目的ID号组

ArrayList arrT = new ArrayList();
Random rand = new Random();
int i = 0;
while(i<20)
{
  int index = rand.Next(0,500);
  if(!arrT.Contains(arrp[index]) //也可只存index,后期再取值
  {
    arrT.Add(arrp[index]);
    i++;
  }
}