1

我一直试图在 C# 中解决这个问题。我刚开始做 C#,所以我很感激你的帮助。

我想将对象列表复制到另一个对象的列表中。

它看起来像这样。

class Person
    {
        public String fName;
        public String lName;
        public List<House> housesOwned = new List<House>();
        public Student(String FName, String LName)
        {
            this.fName = FName;
            this.lName = LName;

        }
    }

class House
    {
        public String Address;

        public House (String ad1){
            this.Address1 = ad1;

        }
    }

现在,在我的表单中,我创建了一个房屋类型的对象列表(准确地说,它有 2 个房屋类型的对象),这是该人拥有的两座房屋。

就像是 :List<House> housesList = new List<House>;

基本上我想要做的是将List<House> housesList表单中创建的复制到List<House> housesOwned对象Person中的列表中。按下提交按钮时会发生这种情况。到目前为止,我得到了这个:

List<Person> person = new List<Person>(); // declared at the beginning of the form
.....
private void submit_Click(object sender, EventArgs e)
        {
            person.Add(new Person(personName.Text, personLName.Text));
            //I do not know what comes next to copy the list housesList to the list housesOwned
            MessageBox.Show("Done!");
        }

我希望复制包含其地址的对象房屋。非常感谢您的帮助。

4

2 回答 2

2

保留您创建的新 Person 的实例,然后将其添加houseList到该实例。

private void submit_Click(object sender, EventArgs e)
{
        var newPerson = new Person(personName.Text, personLName.Text);
        newPerson.housesOwned.AddRange(houseList);
        person.Add(newPerson);
        MessageBox.Show("Done!");
}
于 2013-02-17T21:56:07.193 回答
0

试试这个。

   List<Person> people = new List<Person>();

    var person = new Person(personName.Text, personLName.Text);

    person.housesOwned.AddRange(housesList);

    people.Add(person);
于 2013-02-17T21:54:58.023 回答