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:)

Foi útil?

Solução

Quase uma duplicata de:

Como classificar List > de acordo com List número de campos?

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());
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top