2009-04-23 8 views
3

Je suis en train d'écrire une méthode qui a adopté une liste <AssetMovements> où AssetMovements ressembleLINQ to Objects la question

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

Je veux être en mesure d'aplatir ces objets dans une liste de tous les mouvements Description et j'essaie de comprendre la requête LINQ dont j'ai besoin pour cela. Je pensais que

from l in list select l.Movements 

le ferait et retour IEnumerable <DateRange> mais il retourne IEnumerable < Liste <DateRange> > et je ne suis pas vraiment sûr de savoir comment corriger cela. Aucune suggestion?

Répondre

13

Celui-ci a déjà été demandé. Vous voulez la méthode SelectMany(), qui aplatit une liste de listes. Donc:

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

Ah brillant, c'était tout. –

Questions connexes