Да, для методов Enumerable
(LINQ to Objects, что относится к упомянутому вами List<T>
), вы можете положиться на порядок элементов, возвращаемых Select
, Where
или GroupBy
. Это не относится к вещам, которые по своей природе неупорядочены, как ToDictionary
или Distinct
.
Объекты IGrouping<TKey, TElement>
выдаются в порядке, основанном на порядке элементов в источнике, который создал первый ключ каждого IGrouping<TKey, TElement>
. Элементы в группировке выдаются в том порядке, в котором они отображаются в source
.
Это не обязательно верно для IQueryable
методов расширения (других провайдеров LINQ).