2

ここに画像の説明を入力DB に質問と回答の表があります。ここで、各質問を 1 つずつ独自の回答と共に抽出し、[次へ] ボタンを押して 2 番目の質問に進む必要があります。

  {    
  public partial class TakeTest : Form
   {
    public static User CurrentUser { get; set; }
    private DataService dataService;
    private List<Category> categories;
    private List<Exam> tests;
    // private List<Question> questions;
    private Dictionary<Question, List<Answer>> qa;    

    public TakeTest()
    {
        InitializeComponent();
        dataService = new DataService();
    }

    private void TakeTest_Load(object sender, EventArgs e)
    {

        // category
        categories = dataService.GetCategories();

        if (categories.Count > 0)
        {   
            cmbSelCategory.Items.AddRange(categories.ToArray());
            cmbSelCategory.SelectedIndex = 0;
        }

    }

    private void cmbSelCategory_SelectedIndexChanged(object sender, EventArgs e)
    {
        Category selectedCategory = (Category)cmbSelCategory.SelectedItem;

        tests = dataService.GetTests(selectedCategory.Id);

        cmbSelTest.Items.Clear();
        if (tests.Count > 0)
        {
            cmbSelTest.Items.AddRange(tests.ToArray());
            cmbSelTest.SelectedIndex = 0;
        }

    }

これが私がカテゴリを埋めてテストする方法です

QUESTION :Dictionary 'Question, List'Answer'' を使うのは良い考えですか? または他にどのようにそれを行うことができます

4

1 に答える 1

4

あなたはすでにQuestionクラスを持っているようです。そのクラスにプロパティを追加しAnswersて、質問の詳細とすべての回答の両方を入力してみませんか。次に、を作成してList<Question>、最初から最後まで繰り返すことができます。

を繰り返すのは難しいDictionaryですList

実際、コードを詳しく見ると、Examクラスもあるようです。これにはsのリストが含まれている可能性があり、それぞれにsのリストが含まれてQuestionいる可能性があります。QuestionAnswer

于 2013-03-08T09:02:46.570 に答える