2

在此处输入图像描述我的数据库中有一个问题和答案表,现在我需要一个一个地提取每个问题及其自己的答案,然后按 NEXT 按钮转到第二个问题。

  {    
  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;
        }

    }

这就是我填写类别和测试的方式

问题:使用字典'问题,列出'答案''是个好主意吗?或者我还能怎么做

4

1 回答 1

4

你似乎已经Question上课了。为什么不Answers向该类添加一个属性并填充问题详细信息和所有答案。然后你可以创建一个List<Question>,你可以从头到尾迭代。

Dictionary迭代 a比迭代 a 更难List

实际上,更仔细地查看您的代码,您似乎也有一个Exam类 - 这可能包含一个Questions 列表,每个都Question可以包含一个Answers 列表。

于 2013-03-08T09:02:46.570 回答