2012-09-17 5 views

Antwort

9

Wenn Sie die genaue Äquivalent wollen:

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

Aber wenn Sie nur über die Elemente iterieren und nicht wirklich brauchen eine List, Sie den Anruf GetList() weglassen kann.

+1

nicht vergessen zu werfen ! –

+0

'Liste' wird eine' Liste 'nicht' Liste 'sein. – Rawling

+0

@JustinNeissner - Justin Probleme mit und ohne die ToList(). Die Methodengruppe kann nicht der implizit typisierten lokalen Variablen zugewiesen werden. – dotnetnoob

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

Wie wäre es

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

yep, jetzt korrigiert, thx –

+0

Er sagte, Angebote war eine Liste –

+0

Buh, Verständnis scheitern :) – Rawling

1

Die Frage ausdrücklich verlangen ‚Hinzufügen einer Liste in einer anderen Liste‘, so auch diese interessant sein könnte:

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