MyTetra Share
Делитесь знаниями!
Сотрировка списка по нескольким полям
Время создания: 02.11.2019 23:40
Текстовые метки: Сортировка, sort
Раздел: Компьютер - C#
Запись: Kozlov-AE/Tetra/master/base/1572727220ex654qy3ef/text.html на raw.githubusercontent.com

Предположим, что у вас есть модель, которая описывает структуру одной записи в файле:

class Example

{

public string X { get; set; }

public string Y { get; set; }

public string W { get; set; }

public string H { get; set; }

public string A { get; set; }

}

И файл уже прочитан и записан в коллекцию, например

IEnumerable<Example> exampleCollection

Тогда можно сортировать коллекцию, используя LINQ to Object:

  1. OrderBy - сортирует элементы последовательности в порядке возрастания
  2. OrderByDescending - сортирует элементы последовательности в порядке убывания
  3. ThenBy - выполняет дополнительное упорядочивание элементов последовательности в порядке возрастания
  4. ThenByDescending - выполняет дополнительное упорядочивание элементов последовательности в порядке убывания

В вашем случае, для сортировки по двум столбцам используем:

exampleCollection = exampleCollection.OrderBy(e => e.Y).ThenBy(e => e.A);

Внимание! Этот запрос использует отложенное выполнение.

Что делает этот код?

Этот код выполняет сортировку коллекции по возрастанию по полю Y, если поля Y равны, то выполняется дополнительная сортировка по полю A, так же по возрастанию.

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования