使用数据库和C#

使用数据库和C#,c#,database,C#,Database,我的数据库中有一个表格问题和答案,现在我需要用自己的答案逐个提取每个问题,然后按“下一步”按钮转到第二个问题 { public partial class TakeTest : Form { public static User CurrentUser { get; set; } private DataService dataService; private List<Category> categories; private

我的数据库中有一个表格问题和答案,现在我需要用自己的答案逐个提取每个问题,然后按“下一步”按钮转到第二个问题

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

    }
{
公共部分课程考试:表格
{
公共静态用户CurrentUser{get;set;}
私有数据服务数据服务;
私人名单类别;
私人列表测试;
//私人名单问题;
私人词典;
公考
{
初始化组件();
dataService=新的dataService();
}
私有void TakeTest_加载(对象发送方,事件参数e)
{
//类别
categories=dataService.GetCategories();
如果(categories.Count>0)
{   
cmbSelCategory.Items.AddRange(categories.ToArray());
cmbSelCategory.SelectedIndex=0;
}
}
私有无效cmbSelCategory\u SelectedIndexChanged(对象发送方,事件参数e)
{
类别selectedCategory=(类别)cmbSelCategory.SelectedItem;
tests=dataService.GetTests(selectedCategory.Id);
cmbSelTest.Items.Clear();
如果(tests.Count>0)
{
cmbSelTest.Items.AddRange(tests.ToArray());
cmbSelTest.SelectedIndex=0;
}
}
这就是我填写类别和测试的方式


问题:使用字典中的“问题,列出“答案”是一个好主意吗?或者我怎么做呢?

您似乎已经有了一个
问题
类。为什么不在该类中添加一个
答案
属性,并填充问题详细信息和所有答案。然后您可以创建一个
列表
,您可以从头开始进行迭代直到最后

迭代
字典
比迭代
列表
更难


准确地说,更仔细地看你的代码,你似乎也有一个
考试
类-这可能包含一个
问题
列表,每个
问题
可能包含一个
答案
列表。

你似乎已经有了一个
问题
类。为什么不在该类中添加一个
答案
属性呢nd填充问题详细信息和所有答案。然后您可以创建一个
列表
,您可以从头到尾进行迭代

迭代
字典
比迭代
列表
更难


实际上,更仔细地看你的代码,你似乎还有一门
考试
课-这可能包含一系列
问题
s,每个
问题
可能包含一系列
答案
s。

嗨,我看不到你的图像(因为我正在工作)但是假设你的问题是唯一的,那么将它们存储在字典中就可以了。这会将一个问题与答案列表联系起来。我看不到你的图片(因为我在工作)但是假设你的问题是唯一的,那么把它们存储在字典里就可以了。这会把一个问题和一个答案列表联系起来。我把这个列表用在其他地方…所以我可以在这里用它来…我还想知道你写了什么…我只是想看看有什么更好“事实上,更仔细地看你的代码,你似乎也有一门考试课——这可能包含一个问题列表,每个问题都可能包含一个答案列表。“-是的,这就是我的想法:)我在其他地方使用了这个列表…所以我可以在这里使用它…我也在思考你写的东西…我只是想看看有什么更好“准确地说,更仔细地看你的代码,你似乎也有一个考试班-这可能包含一个问题列表,每个问题可能包含一个答案列表。”-是的,这就是想法:)