Как отсортировать List <List <UInt32 >> по списку <UInt32> [0] по номеру ASC / DESC в C #? - PullRequest
0 голосов
/ 07 апреля 2009

Как отсортировать это в порядке ASC?

Я получил List<List<UInt32>> полных записей List<UInt32>, и я хочу, чтобы эти записи были отсортированы по первому столбцу каждой записи - столбец с номером UInt32.

Итак:

У меня есть список:

new List<UInt32>: 32,1,1,1,1,1
new List<UInt32>: 22,2,2,2,2,2
new List<UInt32>: 32,1,1,1,1,1
new List<UInt32>: 1,1,1,1,1

который должен быть отсортирован по:

List<UInt32>: 1,1,1,1,1
List<UInt32>: 22,2,2,2,2,2
new List<UInt32>: 32,1,1,1,1,1
new List<UInt32>: 32,1,1,1,1,1

-> Только первый номер имеет значение! другие не важны для сортировки. Я ищу ASC, но оба были бы фантастическими, поэтому, когда я думаю, что алгоритм должен быть изменен, я посмотрю его:)

Спасибо за ваши усилия помочь!

@ Самуэль, Спасибо, я попытаюсь реализовать это, когда попытаюсь изменить тип:)

Ответы [ 2 ]

5 голосов
/ 07 апреля 2009

Почти копия:

Как отсортировать список > по списку количество полей?

Что-то вроде:

var sorted = parent.OrderBy( l => l[0] );

Или:

parent.Sort( (a,b) => a[0].CompareTo( b[0] ) )
3 голосов
/ 07 апреля 2009

Хотя ответ Джона работает, я бы предложил использовать First() вместо доступа к элементу 0 в списке. Таким образом, он работает для любого IEnumerable<T>, а не только IList<T>.

var sorted = list.OrderBy(subList => subList.First());
...