我不确定这是否可行或甚至完全合理,但我需要添加一个对象,我们将其称为Person
到ICollection列表People
并添加集合到列表<> ,以便在列表中收集人员<>这也将包含其他参数。
我不知道该怎么做,但我可以告诉你到目前为止我所描绘的内容。
public void addPeopleToList(string PersonId)
{
Person p = findPerson(PersonId); /*Method that takes the ID and
returns an object from another List*/
ICollection<People> ICollectionPeople; //Create the ICollection
ICollectionPeople.Add(p); //Add Person to Collection
List.Add(ICollectionPeople); //Add Collection to List
}
如果这种方式不合适,我愿意接受所有其他建议。
答案 0 :(得分:1)
如果您只是告诉我们您想要达到的目标,那可能会更容易,但无论如何:
您需要为ICollectionPeople
分配一个值(也可能值得重命名并遵循命名约定)。也许
ICollection<People> peopleCollection = new List<People>();
虽然你真的需要那种明确的类型吗?您可以使用var
。
您需要创建要添加人员集合的列表实例。也许
var list = new List<People>();
最后,使用AddRange()
之类的
list.AddRange(peopleCollection);
答案 1 :(得分:0)
我认为你需要的是另一个类......就像......
public class PersonWithAttributes : Person {
// add attribute properties here
}
然后在上面的代码中,您将List
更改为List<PersonWithAttributes>
类型,而不是.Add
您将调用List.AddRange(ICollectionPeople)
的集合。之后,您需要遍历List项并添加您正在讨论的额外属性。
答案 2 :(得分:0)
不确定,但看起来你想拥有List<List<People>>
..如果那样,那么你的代码就会缺少集合的初始化。你需要改变一下
public void addPeopleToList(string PersonId)
{
Person p = findPerson(PersonId); /*Method that takes the ID and
returns an object from another List*/
List<Person> ICollectionPeople = new List<Person>(); //Create the
ICollectionPeople.Add(p); //Add Person to Collection
List<List<Person>> personLists = new List<List<Person>>()
personLists.Add(ICollectionPeople); //Add Collection to List
}