Como classificar List > acordo com List [0] Número de ASC / DESC em C #?
Pergunta
Como deve resolver isso em ordem ASC?
Eu tenho List<List<UInt32>>
cheia de registros de List<UInt32>
e quero que os registros sejam classificados de acordo com a primeira coluna em cada registro -. A coluna é o número UInt32
Assim:
Eu tenho Lista de:
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
que deve ser ordenada a:
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
-> Apenas primeira questão número! outros não são importantes para a classificação. Eu estou olhando para a coisa ASC, mas ambos seria tão fantástico quando penso algoritmo deve ser mudado, eu vou procurá-lo:)
Obrigado por seu esforço para ajudar!
@Samuel, obrigado, vou tentar implementá-lo quando tento alterar o tipo:)
Solução
Quase uma duplicata de:
Como classificar List > de acordo com List
Algo como:
var sorted = parent.OrderBy( l => l[0] );
Ou:
parent.Sort( (a,b) => a[0].CompareTo( b[0] ) )
Outras dicas
Enquanto a resposta de John funciona, eu sugiro usar First()
em vez de acessar o elemento 0 na lista. Desta forma, ele funciona para qualquer IEnumerable<T>
não apenas IList<T>
.
var sorted = list.OrderBy(subList => subList.First());