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

StackOverflow https://stackoverflow.com/questions/725652

  •  05-09-2019
  •  | 
  •  

Вопрос

Как отсортировать это в порядке 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, но оба были бы фантастическими, поэтому, когда я думаю, что алгоритм следует изменить, я поищу его :)

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

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

Это было полезно?

Решение

Почти дубликат:

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

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

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

Или:

parent.Sort( (a,b) => a[0].CompareTo( b[0] ) )

Другие советы

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

var sorted = list.OrderBy(subList => subList.First());
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top