4
一个子集我有一个List<Animal>
包含Cat
型,Dog
和Pig
(为简单起见)的对象LINQ - 获取基于类型
我想从我的List<Animal>
选择所有的狗到一个新的List<Dog>
。
这在LINQ中是如何完成的?
一个子集我有一个List<Animal>
包含Cat
型,Dog
和Pig
(为简单起见)的对象LINQ - 获取基于类型
我想从我的List<Animal>
选择所有的狗到一个新的List<Dog>
。
这在LINQ中是如何完成的?
您可以使用Enumerable.OfType<T>
:
var dogs = animals.OfType<Dog>().ToList();
(注意ToList()
只需要做出一个List<Dog>
如果你只需要IEnumerable<Dog>
,你可以把它关闭。)
像这样的东西应该工作。
var animals = new List<Animals> { new Dog(), new Cat(), new Pig(), }; //etc.
var dogs =
animals
.OfType<Dog>()
.ToList();
+1也是我的失败 –