我试图创建一个评分测验的方法。如果测验问题只有一个正确的答案,它会正常工作,但我很难处理多个正确的答案。在列表中循环并匹配几个条件
我先检查一下当前问题有多少正确答案。如果它超过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。由于字符串更改,您需要进行一些格式设置和验证。 –