我正在编写一个传递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;而且我不确定如何纠正这个问题。有什么建议吗?
答案 0 :(得分:13)
之前有人问过这个问题。您需要SelectMany()方法,该方法可以展平列表列表。所以:
var movements = list.SelectMany(l => l.Movements);