我正在构建一个小应用程序,它接受描述学生和顾问的信息作为输入。我为每个对象创建了一个类,一旦输入信息,两个对象都存储在单独的列表框中。问题是,我必须将学生班的实例与顾问班的实例联系起来,而我甚至不知道从哪里开始。每个学生只能有一个顾问,但一个顾问可以与许多学生一起工作。
我想我必须为顾问创建一个ID#,因为现在我只从他们那里收集字符串信息,使用一个数字可能更容易。我对面向对象编程很陌生。我该从哪里开始?
发布于 2013-11-24 21:07:00
Linq将帮助您一起参加您的课程。
private void ListBox1_SelectedValueChanged(object sender, EventArgs e)
{
if (ListBox1.SelectedIndex != -1)
{
var joined = (from s in Students
join a in Advisers on s.AdvisorsID equals a.AdvisorsID
where a.AdvisorsID == ((Advisor)ListBox1.SelectedItem).AdvisorID
select new {a, s});
}
}这将为您提供一个对象,您可以循环使用该对象或将其用作UI对象的数据源。
但是,您需要一些公共字段来将它们连接在一起。使用@Ryans关于关系数据的答案是很有帮助的,如果您要将您的信息从/到数据库。
编辑:我刚刚在标题中注意到了Listbox。这样做的习惯方式是拥有一个具有ID和文本值的数据源。
设置数据源:
listbox.DataSource = Students;ID设置为Listbox的ValueMember属性:
listbox.ValueMember = "StudentID";然后分别到显示值:
listbox.DisplayMember = "StudentName";然后,您可以使用上面的LINQ代码从结构中提取正确的一个。
https://stackoverflow.com/questions/20180924
复制相似问题