如何从IEnumerable创建List <t>?</t>

时间:2011-08-24 14:17:36

标签: c# .net .net-4.0

我有一个返回IEnumerable的DAL方法。我想要一个业务对象列表List<Person>。如何从ienumerable返回类型构建列表?当我在visual studio中检查返回值时,我会看到所有属性。我只需要列出清单。

谢谢!

4 个答案:

答案 0 :(得分:4)

如果IEnumerable包含已知类型T的对象,您只需将其“转换”为IEnumerable<T>,然后使用ToList扩展方法获取列表:

IEnumerable foo; // obviously this needs to have a "real" value
var list = foo.Cast<T>().ToList();

答案 1 :(得分:2)

只需使用Enumerable<T>.ToList

IEnumerable<T> source = // get data from some source;
List<T> list = source.ToList();

或者,有一个overloadList<T>构造函数需要IEnumerable<T>

IEnumerable<T> source = // get data from source;
List<T> list = new List<T>(source);

List<T> list = new List<T>(// get data from source);

答案 2 :(得分:0)

new List<Person>(MyMethod())

答案 3 :(得分:0)

获取结果时可以使用.ToList()。像这样:

List<Person> lstPerson = DAL.GetPersonList().ToList();