1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ordenar uma LinkedList de classes em C#

Discussão em 'Programação' iniciada por Quarq, 22 de Dezembro de 2008. (Respostas: 6; Visualizações: 1274)

  1. Quarq

    Quarq Power Member

    Boas.

    O meu problema é o seguinte. Tenho uma LinkedList cujo contéudo são classes sendo que uma das Propriedades dessas classes é Nome (string). O meu objectivo é ordenar essas classes pela Propriedade Nome. Já tentei usar método "orderby()" mas sem resultados. Usei-o da seguinte forma:


    Lista.OrderBy(Classe => Classe.Nome);


    Alguém tem alguma ideia de como é que isto se pode fazer usando este método ou algo equivalente? Thanks.
     
  2. IComeFromBehind

    IComeFromBehind Power Member

    Esses metodos retornam um query com os elementos ordenados (quer dizer mais ou menos) e não modificam a lista penso eu.
     
  3. Quarq

    Quarq Power Member

    Não conheço a estrutura desses query's, sabes como os posso usar?

    SOLVED
     
    Última edição: 23 de Dezembro de 2008
  4. AliFromCairo

    AliFromCairo Power Member

    Podes também converter a LinkedList para ArrayList, e utilizares o método Sort desta última.
     
  5. Quarq

    Quarq Power Member

    Com um ArrayList e o método sort() tens usar um IComparable, coisa que também não sei usar :D
    Se alguém quiser dar alguma pista sobre este assunto será bem vinda porque vou precisar disso mais á frente.
     
  6. AliFromCairo

    AliFromCairo Power Member

    Podes de facto usar implementar a interface IComparable, mas penso que podes fazer mais simples do género:

    Código:
    array.Sort((x, y) => String.Compare(x.Nome, y.Nome));
    
    Também podes utilizar delegates.
     

Partilhar esta Página