LINQ to Objects问题

时间:2009-04-23 09:01:24

标签: linq linq-to-objects

我正在编写一个传递List< AssetMovements>的方法。其中AssetMovements看起来像

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

我希望能够将这些对象展平为所有Movements的列表而不管Description如何,并且我试图弄清楚我需要做的LINQ查询。我以为

from l in list select l.Movements

会这样做并返回IEnumerable&lt; DateRange&gt;但它返回IEnumerable&lt; List&lt; DateRange&gt;&gt;而且我不确定如何纠正这个问题。有什么建议吗?

1 个答案:

答案 0 :(得分:13)

之前有人问过这个问题。您需要SelectMany()方法,该方法可以展平列表列表。所以:

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