我有一个Cat
类和一个Dog
类,它实现了一个名为IAnimal
的接口。
我有一个方法可以获取cats
和dogs
的列表。
目前,我可以将cats
投射到IAnimal
并将其添加到animalList
。
List<IAnimal> animalList;
...
public void setUpList(List<Cat> cats, List<Dog> dogs){
animalList = cats.ToList<IAnimal>();
}
是否有一种雄辩的方法可以将cats
和dogs
投放到IAnimal
并将它们合并到列表中?
答案 0 :(得分:1)
我认为最简单的方法是使用Enumerable.Cast<>方法并将它们联合起来:
cats.Cast<IAnimal>().Union(dogs.Cast<IAnimal>());
答案 1 :(得分:1)
您可以简单地使用Union
和ToList()
。像这样:
List<IAnimal> animalList = cats.Union(dogs.Cast<IAnimal>()).ToList();
不要忘记将using System.Linq;
添加到using
指令中。