2016-08-22 2 views
0

Я пытаюсь создать Quiz в C#. Я попытался добавить вопросы в словарь ...Добавить строку [] в объект словаря C#

Вот как далеко я получил ... Пожалуйста, помогите.

public class Quiz 
{ 
    public string Question { get; set; } 
    public string Answer { get; set; } 
    public string ImagePath { get; set; } 
    public string[] Options { get; set; } 

    public Quiz(string question, string answer, string imagePath, string[] options) 
    { 
     Question = question; 
     Answer = answer; 
     ImagePath = imagePath; 
     Options = options; 
    } 

    public static Dictionary<string, Quiz> GetQuiz() 
    { 
     var quiz = new Dictionary<string, Quiz>(); 
     var questionOne = new Quiz("q1", "What is his first name?", "Elon", "/Assets/emusk.jpg", new string[]{"Peter","John","Mark"}); 

     quiz.Add("Q1", questionOne); 
     return quiz; 
    } 
} 
+3

Добро пожаловать в StackOverflow. И в чем проблема, с которой вы сталкиваетесь? Любые исключения? – uTeisT

+0

Какой IDE или текстовый редактор вы использовали? – llouk

ответ

0

Вы добавили «q1» также в свой новый объект Quiz. Это должно быть только вашим ключом в словаре.

Изменить это:

var questionOne = new Quiz("What is his first name?", "Elon", "/Assets/emusk.jpg", new string[]{"Peter","John","Mark"}); 

Немного странно, однако, что ответ не один из вариантов!

+0

OP может рассматривать 'Options' как фактически« неправильные ответы », а не все опции, поэтому вам не нужно сохранять правильный ответ в объекте дважды. Итак, лучшим именем может быть «OtherOptions». – juharr

+0

Awesome, Спасибо за своевременный ответ..работал как шарм :) –

+0

@juharr Хорошая точка. Не думал об этом! –