2011-08-24 32 views
1

我有一個返回IEnumerable的DAL方法。我想要一個業務對象列表List<Person>。如何從永久返回類型構建列表?當我檢查Visual Studio中的返回值時,我會看到所有的屬性。我只需要製作清單。如何從IEnumerable創建列表<T>?

謝謝!

+3

'當我檢查visual studio的返回值時,我看到所有的屬性.'然後它不是'IEnumerable'。 – SLaks

回答

0
new List<Person>(MyMethod()) 

2

只需使用Enumerable<T>.ToList

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

另外,有List<T>構造的overload接受一個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); 
4

如果IEnumerable包含已知類型T的對象,你可以簡單地「轉換」它的IEnumerable<T>,然後使用ToList擴展方法獲得的清單:

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

可以使用.ToList ()獲取結果時。像這樣:

List<Person> lstPerson = DAL.GetPersonList().ToList(); 
相關問題