我如何将System.Collection.IEnumerable转换为List在c#中?
问题的出现原因是用户想要将System.Collection.IEnumerable类型的对象转换为List
解决方法是使用以下代码片段:
IEnumerable myEnumerable = GetUser(); ListmyList = myEnumerable.Cast ().ToList();
或者,也可以使用OfType方法代替Cast方法:
IEnumerable myEnumerable = GetUser(); ListmyList = myEnumerable.OfType ().ToList();
如果IEnumerable是泛型的,则可以直接使用ToList方法:
IEnumerablemyEnumerable = GetUser(); List myList = myEnumerable.ToList();
以上就是解决该问题的方法。感谢Lasse V. Karlsen的建议,我已经更新了我的答案。
在C#中,有时候我们需要将System.Collection.IEnumerable接口的对象转换为List
Listcollection = myEnumCollection.ToList();
上述代码并不能成功地将System.Collection.IEnumerable类型的对象转换为List
为了解决这个问题,我们可以使用强制类型转换来将System.Collection.IEnumerable类型的对象转换为List
Listcollection = ((IEnumerable)myEnumCollection).Cast ().ToList();
在上述代码中,我们首先将System.Collection.IEnumerable类型的对象进行强制类型转换为IEnumerable接口类型。然后使用Cast
通过以上的解决方法,我们可以将System.Collection.IEnumerable类型的对象成功地转换为List