【问题标题】:Linq to Objects: does GroupBy preserve order of elements?Linq to Objects:GroupBy 是否保留元素的顺序?
【发布时间】:2010-11-29 23:09:54
【问题描述】:

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

【问题讨论】:

标签: .net linq group-by


【解决方案1】:

在MSDN找到答案:是的。

IGrouping<TKey, TElement> 对象的生成顺序基于 source 中生成每个 IGrouping<TKey, TElement> 的第一个键的元素的顺序。分组中的元素按照它们在源代码中出现的顺序产生。

【讨论】:

  • 不是说它与问题直接相关,而是因为它可能是人们在发现事情不井井有条时落入的问题,因此可能有兴趣注意到 PLINQ 不是这种情况,除非明确要求.
  • 该文档仅适用于 LINQ-to-objects。对于 LINQ-to-SQL、LINQ-to-XML 或 LINQ-to-anything-else 的特定实现,情况可能并非如此。
  • @aboveyou00 在尝试按组键以外的其他字段对组进行排序数小时后,您的评论挽救了我的一天。 LINQ to MySql 通过组键自动对组进行排序!我不得不使用 ToList 将有序查询带到本地对象,然后对其进行分组。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-05
  • 1970-01-01
  • 1970-01-01
  • 2011-04-12
相关资源
最近更新 更多