Im пытается создать метод, который оценивает викторину. Он отлично работает, если в вопросе викторины есть только один правильный ответ, но мне сложно справляться с несколькими правильными ответами.Цитирование по списку и сопоставление нескольких условий
Сначала я проверяю, сколько правильных ответов отвечает на текущий вопрос. Если его более 1, чем мне нужен метод, который проверяет, соответствуют ли пользователи ответы на правильные ответы.
Итак, если у вас есть вопрос с 2 правильными ответами, и пользователь проверяет только один из них, он не получает оценку.
Любые идеи по методу проверки того, что количество ответов, которые являются правильными, соответствуют правильным ответам?
Я думаю, что 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 для текста. Вам нужно будет сделать некоторое форматирование и проверку, так как строки меняются. –