3

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

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

我希望能够将这些对象展平为所有运动的列表,而不管描述如何,并试图找出我需要执行此操作的 LINQ 查询。我以为

from l in list select l.Movements

会这样做并返回 IEnumerable<DateRange> 但它返回 IEnumerable<List<DateRange>> 我不确定如何纠正这个问题。有什么建议么?

4

1 回答 1

13

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

var movements = list.SelectMany(l => l.Movements);
于 2009-04-23T09:02:49.840 回答