我有一个返回IEnumerable的DAL方法。我想要一个业务对象列表List<Person>
。如何从ienumerable返回类型构建列表?当我在visual studio中检查返回值时,我会看到所有属性。我只需要列出清单。
谢谢!
答案 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();
或者,有一个overload的List<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();