如何将IEnumerable <object>转换为List <ifoo>,其中每个对象都是IFoo?</ifoo> </object>

时间:2012-06-01 18:54:31

标签: c# linq generics ienumerable

如何将IEnumerable<object>转换为List<IFoo>,其中每个对象都是IFoo

我有IEnumerable<object>someCollectionsomeCollection中的每个项目都是IFoo个实例。如何将someCollection转换为List<IFoo>?我可以使用转换或强制转换或其他东西而不是循环并构建列表吗?

3 个答案:

答案 0 :(得分:12)

使用LINQ,您可以使用Cast来投射项目,并使用ToList获取列表。

尝试:

 IEnumerable<object> someCollection; //Some enumerable of object.
 var list = someCollection.Cast<IFoo>().ToList();

答案 1 :(得分:4)

someCollection.Cast<IFoo>().ToList()

答案 2 :(得分:3)

试试这个:

enumerable.Cast<IFoo>().ToList();