Class Person
    {
        string Name
        int yesno
        int Change
        List<Cars> Personcars;
        houses Personhouses
    }

Person user1 = new Person()
Person user2 = new Person()

user1.Name = "userName"
user2.Name ="";

user2.cars[0] = new car("Mazda");
user1.cars[0] = new car("BMW");


我想合并对象,以便user2将使用user1的名称和汽车

user2将具有此值

user2.Name将为userName
user2.cars将拥有马自达和宝马

谢谢 !

最佳答案

user2.Name = user1.Name;
user2.Personcars.AddRange(user1.Personcars);




您可以将此添加为类本身的方法:

public class Person
{
    List<Cars> _personcars;

    public string Name { get; set; }
    // what the hell is a yesno int? If it's 1 or 0 then just use a bool
    public int yesno { get; set; }
    public int Change { get; set; }
    public List<Cars> Personcars
    {
        get
        {
            return _personcars ?? (_personCars = new List<Cars>());
        }
        set { _personcars = value; }
    }
    public Houses Personhouses { get; set; }

    public void Merge(Person person)
    {
        Name = person.Name;
        Personcars.AddRange(person.Personcars);
    }
}


这将使您可以编写如下内容:

user2.Merge(user1);

关于c# - C#合并对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7504280/

10-11 18:05