Mar*_*aro 4 c# ienumerable list .net-3.5
我有一份清单 IAnimal
List<IAnimal> Animals
Run Code Online (Sandbox Code Playgroud)
在这个列表中我有3个不同 Animal
Cat 5个对象Dog 10个物体Cow 3个对象如何生成3种不同的子Animal类型列表?
结果应该是
List<Cat> Cats 包含5个对象List<Dog> Dogs 包含10个对象List<Cow> Cows 包含3个对象我不介意使用不同的集合类型List.IEnumerable还是其他人?
LINQ使这很简单:
var cats = animals.OfType<Cat>().ToList();
var dogs = animals.OfType<Dog>().ToList();
var cows = animals.OfType<Cow>().ToList();
Run Code Online (Sandbox Code Playgroud)