c# Lista <T> Orden por orden alfabético




4 Answers

¿Necesita que la lista se clasifique en su lugar, o simplemente una secuencia ordenada de los contenidos de la lista? Este último es más fácil:

var peopleInOrder = people.OrderBy(person => person.LastName);

Para clasificar en su lugar, necesitaría un IComparer<Person> o un Comparison<Person> . Para eso, es posible que desee considerar ProjectionComparer en MiscUtil .

(Sé que sigo trayendo MiscUtil arriba, solo sigue siendo relevante ...)

c# generics list lambda sorting

Estoy usando C # en Framework 3.5. Estoy buscando ordenar rápidamente una List<T> genérica List<T> . Por el bien de este ejemplo, digamos que tengo un tipo de lista de una Person con una propiedad de apellido. ¿Cómo ordenaría esta lista usando una expresión lambda?

List<Person> people = PopulateList();
people.OrderBy(???? => ?????)



puedes usar linq :) usando:

System.linq;
var newList = people.OrderBy(x=>x.Name).ToList();



Para mí, esta útil guía ficticia: clasificación en lista genérica, funcionó. le ayuda a comprender 4 formas (sobrecargas) para hacer este trabajo con explicaciones muy completas y claras y ejemplos simples

  • Lista.Ordenar ()
  • Lista.Ordenar (Comparación Genérica)
  • List.Sort (IComparer genérico)
  • List.Sort (Int32, Int32, IComparer genérico)



También puedes usar

model.People = model.People.OrderBy(x => x.Name).ToList();



Related