我们可以在两个通用列表之间建立关系吗?

时间:2010-09-14 10:31:22

标签: c#-4.0

我们可以在两个列表之间建立任何关系吗?我只想查询列表并从其他列表中找到相关结果。请提出一些建议

class GeneralClass
    {
        //public List<int> Student_RollNumber = new List<int>();
        //public List<string> Student_Name = new List<string>();
        private List<int> _student_rollnumber = new List<int>();
        private List<string> _student_name = new List<string>();
        public List<int> Student_RollNumber
        {
            get { return _student_rollnumber; }
            set { _student_rollnumber = value; }
        }
        public List<string> Student_Name
        {
            get { return _student_name; }
            set { _student_name = value; }
        }
    }
private void btn_save_Click(object sender, EventArgs e)
        {
            try
            {
                obj.Student_RollNumber.Add(int.Parse(txtbx_rollnum.Text));
                obj.Student_Name.Add(txtbx_SName.Text);
                MessageBox.Show("Data saved");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Message from form");
            }
        }
        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
               var result = obj.Student_Name.Contains(txtbx_find.Text).ToString();
              MessageBox.Show(result.ToString());
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

我在搜索Rollnumber时想要学生姓名。我们在列表中有多个列。

1 个答案:

答案 0 :(得分:0)

为什么不创建新的自定义类并将其用作通用参数?

class Student
{
  public Student(int rollNumber, string name)
  {
    Name = name;
    RollNumber = rollNumber;
  }

  public string Name { get; private set; }
  public int RollNumber { get; private set; }
}

class GeneralClass
{
  private List<Student> students = new List<Student>();
  public List<Student> Students
  {
    get { return students; }
  }
}

private void btn_save_Click(object sender, EventArgs e)
{
  try
  {
    int rollNumber = int.Parse(txtbx_rollnum.Text);
    string name = txtbx_SName.Text;
    obj.Add(new Student(rollNumber, name));
    MessageBox.Show("Data saved");
   }
   catch (Exception ex)
   {
     MessageBox.Show(ex.Message, "Message from form");
   }
}