首先获得原始的题目列表
定义为List<Question> originQuestionList = 赋值;
定义一个最终的随机题目列表 List<Question> finalQuestionList = new List<Question>();
定义一个中间量用于记录已经选了哪些题目,这里用HashSet<int> IDList = new HashSet<int>();
定义一个随机量 Random rd = new Random();
HashSet类有Add()方法,当HashSet值集中已经包含这个值则返回false,没有则添加至该值集并放回false。
算法:
while(IDList.count<originQuestionList .count)
{
int idtoadd = rd.next(0,originQuestionList .count) ;
if(IDList .Add(idtoadd ))
{
finalQuestionList .add(originQuestionList (idtoadd ));
}
}