我正在製作一種自我測驗,在其中添加問題然後自測。確保相同的列表輸出不會出現兩次
我希望能夠得到所有的問題給你(隨機如果可能的話)。 我已經有所作爲,但偶爾會遺漏一些問題或重複它們。
public void LoadUp() {
if(TimeLimit) {
timer2.Start();
}
KeyWords.Clear();
Hint_Used=false;
int QuestionCount=correct+incorrect;
int AnswerCount=Study_Helper.Form1.QuizList.Count;
Random random=new Random();
int randomNumber=random.Next(0, Study_Helper.Form1.QuizList.Count);
if(!Study_Helper.Form1.PreviousQuestions.Contains(randomNumber)) {
Study_Helper.Form1.PreviousQuestions.Add(randomNumber);
String raw=Study_Helper.Form1.QuizList[randomNumber].ToString();
String[] Split=raw.Split(new char[] { '|' });
Question=Split[0];
richTextBox1.Text=Question;
Answer=Split[1];
Hint=Split[2];
String[] NewSplit=Split[3].Split(new char[] { ',' });
int TotalKeywords=0;
foreach(string s in NewSplit) {
TotalKeywords++;
}
for(int size=0; size<TotalKeywords-1; size++) {
String KeyWord=NewSplit[size].ToString();
KeyWords.Add(KeyWord);
}
}
else if(QuestionCount>=AnswerCount) {
int Total=correct-incorrect;
if(Total<0) {
Total=0;
}
timer2.Stop();
Counter=Study_Helper.Form4.Counter;
Form6 form6=new Form6();
form6.Show();
TimeLimit=false;
MessageBox.Show("Study Questions over! you got "+Total+" in total, that's "+correct+" correct answers!", "Results", MessageBoxButtons.OK, MessageBoxIcon.Information);
correct=0;
incorrect=0;
this.Close();
}
}
它的作用是將隨機數添加到保存它的列表中,並檢查是否已經包含它。我覺得我失去了一些明顯的東西來流利地做這項工作。
請編輯代碼片段,只留下*有意義的*部分。 – abatishchev 2013-02-10 05:06:39