Linq to Objects:GroupBy是否保留元素的顺序?


Answers:


146

MSDN上找到答案:是。

IGrouping<TKey, TElement>对象被产生在该基于产生的每个的所述第一密钥在源中的元素的顺序上的顺序IGrouping<TKey, TElement>。分组中的元素按它们在source中出现的顺序产生。


2
并不是说它与该问题直接相关,而是因为它可能是人们在发现事物井井有条时发现的问题,因此除非有明确要求,否则PLINQ并非如此。
罗南·蒂博道

8
该文档仅适用于LINQ到对象。对于LINQ-to-SQL,LINQ-to-XML或LINQ-to-anythingelse的特定实现,情况可能并非如此。
leviathanbadger

1
@ aboveyou00在尝试按分组键以外的其他字段对分组进行排序后,您用评论保存了我的一天。LINQ to MySql通过组密钥自动对组进行排序!我不得不使用ToList将有序查询带到本地对象,然后对其进行分组。谢谢。
伊万·费雷尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.