2009-04-23 15 views
3

Ich schreibe eine Methode, die eine Liste < AssetMovements geben wird > wo AssetMovements sieht so etwas wieLINQ to Objects Frage

public class AssetMovements 
{ 
    public string Description { get; set; } 
    public List<DateRange> Movements { get; set; } 
} 

ich diese Objekte in einer Liste aller Bewegungen zu verflachen in der Lage sein, unabhängig davon, Beschreibung und versuche, die LINQ-Abfrage herauszufinden, die ich dazu brauche. Ich dachte, dass

from l in list select l.Movements 

es tun würde und das Rück IEnumerable <Daterange> sondern gibt es IEnumerable < Liste <Daterange> > und ich bin nicht wirklich sicher, wie dies zu korrigieren. Irgendwelche Vorschläge?

Antwort

13

Dieser wurde schon einmal gefragt. Sie möchten die SelectMany() -Methode, die eine Liste von Listen flacht. Also:

var movements = list.SelectMany(l => l.Movements); 
+0

Ah brilliant, das war es. –