2013-11-24 67 views
0

假設我有一個的LINQ從其他類型的列表創建一些類型的列表

List<SomeObject> 
List<AnotherObject> 

,並返回SomeObject例如,當我把它AnotherObject

我需要製作IList<SomeObject>一種推廣方法從IList<AnotherObject>所以沒有LINQ我wolud做得一樣

private List<SomeObject> ToListOfProductEntry(List<AnotherObject> list) 
     { 
      List<SomeObject> result = new List<SomeObject>(); 
      foreach (var obj in list) 
      { 
       result.Add(obj.ToSomeObject()); // ToSomeObject() is an extention method 
      } 
      return result ; 
     } 

如何使用LINQ achive相同的結果,我不美LINQ很多,所以我不熟悉它。

回答

2

您可以使用Select投影來爲每個元素塑造數據。

var result = list.Select(x=>x.ToSomeObject()).ToList();  
+0

這個和上面有什麼不同嗎?例如,如果我有20000個元素,你會使用哪一個? – FPGA

+3

@ user1492051我認爲如果有一些差異,則很少,在這種情況下不值得一提。 –

+0

是的,這個操作將始終運行在O(n)時間。 – dcastro

相關問題