クイズを評価するメソッドを作成しようとしています。クイズ質問には正解が1つしかない場合はうまく動作しますが、複数の正解を扱うのは難しいです。リストをループしていくつかの条件を一致させる
まず、現在の質問の正しい回答の数を確認します。それ以上の場合は、ユーザーが答えたかどうかをチェックする方法が必要です。正しい答えに完全に一致しています。
したがって、2つの正解がある質問があり、そのうちの1つだけをチェックインした場合、彼はスコアを取得しません。
正解である回答の数が正解と一致するかどうかを確認する方法については、何か考えてください。
私はLINQがここに適していると思うが、私はそれに全部の騒ぎがあると思う。たぶん新しいリストにすべての正解を追加し、.Containsとのマッチングは解決策でしょうか?
List<Question>
Question-Class
- List<Answers>
-(string) AnswerText
-(bool) CorrectAnswer
- List<string> UserAnswerToQuestionText
擬似コード:
クラスは次のようになり
if (currentquestion has more than one correct answer)
if (UserAnswerText == correctAnswerX && UserAnswerText == correctAnswerY)
nrofCorrectAnswers++;
よりトリッキーなお返事ありがとうございかもしれない答えに入力した場合、これは質問のために一定の答えを想定している(つまり、複数選択)
:次に、これを行う与えられた答えに対して、あなたの答えをチェックします。これは間違いなく前進です! :-) 私のクラスはこのように見えるので、ユーザーの回答は文字列のリストにありますが、それでもlinqを使ってそのように繰り返すことはできますか? –
はい、テキストのIDだけを変更できます。文字列が変更されるので、いくつかの書式設定と検証が必要になります。 –