Linq to Objects: чи GroupBy зберігає порядок елементів?


Відповіді:


146

Знайдена відповідь на MSDN : Так.

Ці IGrouping<TKey, TElement>об'єкти отримані в порядку , заснованому на порядок елементів в джерелі , які збудували перший ключ кожного IGrouping<TKey, TElement>. Елементи в групуванні виводяться в тому порядку, в якому вони відображаються в джерелі .


2
Не те, що це безпосередньо стосується питання, але оскільки це може бути питання, на яке люди потрапляють, знаходячи речі, не впорядковані, може бути зацікавлене зазначити, що це не стосується PLINQ, якщо прямо не вимагається.
Ронан Тібаудау

8
Ця документація застосовна лише для об'єктів LINQ. Це ж не може бути справедливим для конкретних реалізацій LINQ до SQL, LINQ до XML або LINQ до всього іншого.
leviathanbadger

1
@ aboveyou00 через години, намагаючись встановити групи, відсортовані за іншими полями, ніж груповий ключ, ти врятував мій день своїм коментарем. LINQ до MySql автоматично класифікує групи за груповим ключем! Мені довелося скористатися ToList, щоб передати впорядкований запит до локальних об'єктів, а потім згрупувати його. Дякую.
Вілла Івана Феррера
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.