orderBy之后selectMany确保元素的顺序?

时间:2017-01-31 09:17:04

标签: c# .net linq

我有一个对象有另一个对象作为属性,而第二个对象有一个列表作为另一个属性。这样的事情:

MyObjetA
{
    MyObjectB PropertyOnA;
    DateTime MyDate;
}

MyObjectB
{
    List<MyObjectC> PorperyonB;
}

我有一个MyObjectA列表,我希望按日期排序,从中我想按顺序在MyObjectC属性中设置值,首先是按日期排序的第一个MyObjectA的元素。所以我在想这样的事情:

List<MyObjectA> myListObjectA = new List<MyObjectA>();
List<MyObjectC> myLstObjectC = miListObjectA.OrderBy(x=> x.MyDate).SelectMany(x=> x.PropertOnA).SelectMany(y=> y.ProperyOnB).ToList();

但我不确定SelectMany是否确保元素是否有序。

文档说:“将序列的每个元素投影到IEnumerable,并将生成的序列展平为一个序列。”但它没有说明订单。我猜它会在myListObjectA中从第一个元素投射到最后一个元素,但我真的不确定这个。

0 个答案:

没有答案