我的数据库中有一个表格问题和答案,现在我需要逐个提取问题,然后按下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;
}
}
这就是我填写类别和测试的方式
问题:使用字典'问题,List'Answer'是个好主意吗?或者我怎么做呢
答案 0 :(得分:4)
您似乎已经拥有Question
课程。为什么不向该类添加Answers
属性并填充问题详细信息和所有答案。然后你可以创建一个List<Question>
,你可以从头到尾迭代。
迭代Dictionary
比List
更难。
Acually,仔细查看您的代码,您似乎也有Exam
类 - 这可能包含Question
个列表,每个Question
可能包含Answer
列表{1}}秒。