具有x个附加对象的类

时间:2019-04-11 13:43:18

标签: c# class object

让我们说我有一个名为Person的类,带有构造函数

public class Person
{
     public string Name { get; set;}
     public string Height { get; set; }
     public string WhatEverElse { get; set; }

     public string Person(string Name, string Height, string WhatEverElse)
     {
          this.Name = Name;
          .......
     }
}

现在可以说,我也想包括一个人可能拥有的所有宠物。

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

persons.Add(new Person("Larry", "5'9", "Whatever"));

foreach(Datarow row in OwnedPets)
{
     //push the pet info to the person here
}

有什么方法可以向Person对象添加x数量的宠物和宠物信息?这样一来,我可以将拉里的所有2只宠物归还拉里,或者把杰里的全部6只宠物归还给杰里? 还是我可以将两个类组合在一起,并同时返回两个列表?

2 个答案:

答案 0 :(得分:4)

列表如何?


public class Person
{
     public string Name { get; set;}
     public string Height { get; set; }
     public string WhatEverElse { get; set; }
     public List<Pet> Pets { get; set; }
     public string Person(string Name, string Height, string WhatEverElse)
     {
          Pets = new List<Pet>();
     }
}

public class Pet
{
     public string Name { get; set; }
}

然后您可以通过分配新宠物来添加任意数量的宠物

// For your own sake keep a clear naming convention - just my two bucks
List<Person> persons = new List<Person>();
Person person = new Person("Larry", "5'9", "Whatever");
persons.Add(person);

foreach(Datarow row in OwnedPets)
{
     Pet newPet = new Pet();
     person.Pets.Add(newPet);
}

答案 1 :(得分:3)

向您的人添加宠物列表

public class Person
{
     public string Name { get; set;}
     public string Height { get; set; }
     public string WhatEverElse { get; set; }
     public List<string> Perts = new List<strings>();

     public string Person(string Name, string Height, string WhatEverElse)
     {
          this.Name = Name;
          .......
     }
}

现在您可以添加任意多的宠物

Person per = new Person("Larry", "5'9", "Whatever");
per.Pets.Add("Tom");
per.Pets.Add("Jerry");
person.Add(per);

P.S。您的类型Person的列表不应命名为“ person”,这会造成极大的混乱。称它为“人”或类似的东西