让我们说我们有动物,狗和猫类。狗和猫都延伸动物。
public class Animal{}
public class Dog : Animal{}
public class Cat : Animal{}
然后我们制作一个动物的游戏集,并用猫和狗填充它。
HashSet<Animal> animals = new HashSet<Animal>();
animals.Add(new Dog());
animals.Add(new Cat());
animals.Add(new Dog());
animals.Add(new Cat());
获取hashset动物中包含的所有狗(除了狗之外)的哈希集或列表的最佳方法是什么?
答案 0 :(得分:0)
您可以使用LINQ。
var dogs = animals.Where(x => x.GetType() == typeof(Dog)).ToList();
或更短且处理空值
var dogs = animals.Where(x => x is Dog).ToList();