我如何将System.Collection.IEnumerable转换为List在c#中?

12 浏览
0 Comments

我如何将System.Collection.IEnumerable转换为List在c#中?

我如何将System.Collection.IEnumerable转换为C#中的列表?

实际上,我正在执行一个存储过程,它给我返回的是System.Collection.IEnumerable的结果集,我想将该结果集转换为C#的List

请注意,我不想使用任何循环。有没有一种类型转换的方法!

0
0 Comments

问题的出现原因是用户想要将System.Collection.IEnumerable类型的对象转换为List类型的对象。他们希望能够通过某种方法实现这一转换。

解决方法是使用以下代码片段:

IEnumerable myEnumerable = GetUser();
List myList = myEnumerable.Cast().ToList();

或者,也可以使用OfType方法代替Cast方法:

IEnumerable myEnumerable = GetUser();
List myList = myEnumerable.OfType().ToList();

如果IEnumerable是泛型的,则可以直接使用ToList方法:

IEnumerable myEnumerable = GetUser();
List myList = myEnumerable.ToList();

以上就是解决该问题的方法。感谢Lasse V. Karlsen的建议,我已经更新了我的答案。

0
0 Comments

在C#中,有时候我们需要将System.Collection.IEnumerable接口的对象转换为List。然而,直接使用ToList()方法并不能实现这个目的。下面是一个示例代码:

List collection = myEnumCollection.ToList();

上述代码并不能成功地将System.Collection.IEnumerable类型的对象转换为List。因为代码中使用了System.Collections.Generic.IEnumerable而不是System.Collection.IEnumerable。

为了解决这个问题,我们可以使用强制类型转换来将System.Collection.IEnumerable类型的对象转换为List。具体示例如下:

List collection = ((IEnumerable)myEnumCollection).Cast().ToList();

在上述代码中,我们首先将System.Collection.IEnumerable类型的对象进行强制类型转换为IEnumerable接口类型。然后使用Cast()方法将转换后的IEnumerable对象转换为IEnumerable类型。最后,我们使用ToList()方法将IEnumerable对象转换为List类型。

通过以上的解决方法,我们可以将System.Collection.IEnumerable类型的对象成功地转换为List。这样,我们就能够方便地对集合进行操作和处理了。

0