标签: c# linq generics ienumerable
如何将IEnumerable<object>转换为List<IFoo>,其中每个对象都是IFoo?
IEnumerable<object>
List<IFoo>
IFoo
我有IEnumerable<object>,someCollection,someCollection中的每个项目都是IFoo个实例。如何将someCollection转换为List<IFoo>?我可以使用转换或强制转换或其他东西而不是循环并构建列表吗?
someCollection
答案 0 :(得分:12)
使用LINQ,您可以使用Cast来投射项目,并使用ToList获取列表。
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();