111,098
社区成员




//按顺序准备20道考题
List<int> allQues = new List<int>(20);
int quesCount = 1;
while (quesCount <= 20)
{
allQues.Add(quesCount);
quesCount++;
}
//新的随机的考题
int[] newQues = new int[20];
Random rd = new Random();
for (int i = 0; i < 20; i++)
{
//随机从题库中选,选中之后从题库中移走
int randomIdx = rd.Next() % allQues.Count;
newQues[i] = allQues[randomIdx];
allQues.RemoveAt(randomIdx);
}
//打印出来看看
for(int i = 0; i < 20; i++)
{
Console.WriteLine(newQues[i]);
}
[/quote]
这好像不行啊。我把newQues[i]输出到textBox中,发现经常出现重复的数值。
//按顺序准备20道考题
List<int> allQues = new List<int>(20);
int quesCount = 1;
while (quesCount <= 20)
{
allQues.Add(quesCount);
quesCount++;
}
//新的随机的考题
int[] newQues = new int[20];
Random rd = new Random();
for (int i = 0; i < 20; i++)
{
//随机从题库中选,选中之后从题库中移走
int randomIdx = rd.Next() % allQues.Count;
newQues[i] = allQues[randomIdx];
allQues.RemoveAt(randomIdx);
}
//打印出来看看
for(int i = 0; i < 20; i++)
{
Console.WriteLine(newQues[i]);
}