2012-09-17 100 views

回答

9

如果你想完全等效:

var list = deals.Select(d => new DealBookmarkWrapper(d)) 
       .Cast<IBookmarkWrapper>() 
       .ToList(); 

但如果你只是遍历元素且并不真的需要一个List,可以在呼叫离开关到GetList()

+1

不要忘了投! –

+0

'list'将是'List '而不是'List '。 – Rawling

+0

@JustinNeissner - Justin有和没有ToList()有一些问题。无法将方法组分配给隐式键入的局部变量 – dotnetnoob

4
var list = deals.Select(d => new DealBookmarkWrapper(d)) 
       .Cast<IBookmarkWrapper>() 
       .ToList(); 
3

如何

var list = deals.ConvertAll(item=>new DealBookmarkWrapper(item)); 
+0

是的,现在纠正,thx –

+0

他确实说交易是一个列表 –

+0

布赫,理解失败:) – Rawling

1

的问题明确要求“添加列表到另一个列表”,所以这一块可能也很感兴趣:

var list = new List<IBookmarkWrapper>(); //already existing 
... 
deals.Aggregate(list, (s, c) => 
         { 
         s.Add(new DealBookmarkWrapper(c)); 
         return s; 
         }); 
相关问题