私はC#プログラミングには全く慣れていないので、裸でいます。私はすでにサイトに投稿された多数の質問を読みましたが、同じ問題を抱えるようなものは見えないので、もっと簡単なアプローチができると思います。私のクイズの質問のランダムな注文を作成する
私はクイズアプリケーションを作成し、switch文を使用して質問を処理していました。すなわち1から2、3から4などとなる。 しかし、ユーザーがクイズを一度完了してからもう一度やり直したい場合は、同じ質問を何度も繰り返す必要があります。 (設計が間違っていると、アプリケーションが終了するということです)。 したがって、私はQuestionCountの番号を無作為に(ただし、この番号が1回だけ生成されているか)ランダム化する方法があるかどうかを確認したかったのです。 リストを使用する際の提案がありますが、これらはリストに含まれている多数のものに集中しているようですが、私のものは現在20個の質問にしかなりません。
私は現在使用しているコードをコピーしました。
private void Verify(int Question)
{
switch (Question)
{
case 1:
if (checkBox1.Checked && !checkBox2.Checked && !checkBox3.Checked && !checkBox4.Checked)
{
MessageBox.Show("Correct - Well Done");
//This was a test to see if I could assign a random number which works but the number could then appear again meaning the user gets the same question
Random random = new Random();
QuestionCount = random.Next(0, 21);
QuestionSelection(QuestionCount);
//SelectLabel(QuestionCount);
ClearcheckBox();
}
else
{
MessageBox.Show("No - It was Sunguard");
Application.Exit();
}
break;
case 2:
if (checkBox3.Checked && !checkBox2.Checked && !checkBox1.Checked && !checkBox4.Checked)
{
//this method was the original where it just adds 1 to QuestionCount and works it way through the switch statement for the questions.
MessageBox.Show("Correct - Well Done");
QuestionCount++;
QuestionSelection(QuestionCount);
//SelectLabel(QuestionCount);
ClearcheckBox();
}
else
{
MessageBox.Show("No - It's to look at a students details");
Application.Exit();
}
}
}
あなたが探しているキーワードが "シャッフル" です。つまり、置換せずにリストをランダムに並べ替えることです。あなたは質問のリストをシャッフルしたい(あなたのコードでは、質問は 'int'によって識別されるように見えるので、' int'のリスト)。 – perelman