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

Kon*_*rin 102 .net linq group-by

从LINQ到Objects的Enumerable.GroupBy是否保留组中元素的顺序?

Kon*_*rin 127

MSDN上找到答案:是的.

根据IGrouping<TKey, TElement>源中元素的顺序生成对象,这些元素生成每个对象的第一个键IGrouping<TKey, TElement>.分组中的元素按它们在源中出现的顺序生成.

  • 该文档仅适用于 LINQ-to-objects。对于 LINQ-to-SQL、LINQ-to-XML 或 LINQ-to-anything-else 的特定实现,情况可能并非如此。 (14认同)
  • 并不是说它与该问题直接相关,而是因为它可能是人们在发现事物井然有序时掉入的一个问题,因此可能有必要指出,除非明确要求,否则PLINQ并非如此。 (2认同)
  • @aboveyou00 在尝试按组键以外的其他字段对组进行排序几个小时后,您的评论挽救了我的一天。LINQ to MySql 按组键自动对组进行排序!我必须使用 ToList 将有序查询引入本地对象,然后对其进行分组。谢谢。 (2认同)