【发布时间】:2015-03-05 08:15:49
【问题描述】:
我有一个由动物类型组成的动物列表,每只动物都有一个访问列表,其中每次访问治疗时都会添加信息。 不知何故,我无法弄清楚如何将访问列表添加到动物列表 animalList.Add(listHealth) ?????不工作
List <Animal> animalList = new List <Animal>{typeOfAnimal = "Cat"};
DetailsOfAnimal da;
public class Animal
{
public string typeOfAnimal;
List <HealthList> listHealth = new List <HealthList>
}
public class HealthList
{
public Date visit {get;set;}
public string symptoms {get;set;}
}
.......
if new animal
animalList = new List <Animal>;
// Add details to animal
da = new HealthList{visit = "2005-03-05", symptoms = "bad stomach"}
List <HealthList> listHealth = new List <HealthList>
listHealth .Add(da);
animalList.Add(listHealth) ???? Not working how to do that
【问题讨论】:
-
您想将
listHealth添加到哪个Animal? -
listHealth.Add(new Animal() {typeOfAnimal="Cat", listHealth =da }); -
据我所知,
animalList只能包含Animal项目,而HealthList不是Animal这就是为什么你可以添加这些项目(通过AddRange)到列表直接。 -
顺便说一句。
HealthList这个名字有点误导人。它不是在描述一个列表。它描述了一个列表中的项目in。Health也可能具有误导性,或者至少过于难以描述。也许Visit或Treatment会是更好的名称。至于代码风格,我通常希望类的公共成员是大写的驼峰式(TypeOfAnimal而不是typeOfAnimal);但也许您的内部指导方针需要一些不同的东西。 -
为什么
typeOfAnimal和listHealth字段在Animal上?它们应该是属性(带有 getter/setter)。
标签: c# list c#-4.0 multidimensional-array