Сортировка списка в C # - PullRequest
1 голос
/ 21 июня 2011
public class BatchProcess
    {
        public string process { get; set; }
        public DateTime runtime { get; set; }
        public bool running { get; set; }
    }

Итак, у меня есть список этих парней - List<BatchProcess> list.

Как бы я отсортировал по одному из этих столбцов? Я слышал, что могу сделать это с LINQ, но я так плохо с LINQ. Как бы это выглядело?

Спасибо.

Ответы [ 4 ]

6 голосов
/ 21 июня 2011

Вы можете отсортировать по времени выполнения, например, через:

var orderedByRuntime = list.OrderBy(p => p.runtime);

Если вы хотите отсортировать по «процессу» в порядке убывания, вы можете использовать:

var orderedByProcessDesc = list.OrderByDecending(p => p.process);
2 голосов
/ 21 июня 2011

Использовать OrderBy:

var sortedList = list.OrderBy(p => p.runtime).ToList();
2 голосов
/ 21 июня 2011

Вот пример использования LINQ (лямбда-синтаксиса) для создания списка, отсортированного по process.

var listByProcess = list.OrderBy(bp => bp.process);
0 голосов
/ 21 июня 2011

Если вы хотите отсортировать по всем из них, так как кажется, что это то, что вы просите, вы можете просто сделать следующее

var sorted = list.OrderBy(p => p.process).ThenBy(r => r.runtime);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...