[c#] Elenco <> Ordine con ordine alfabetico


Answers

Avete bisogno che la lista sia ordinata sul posto, o solo una sequenza ordinata dei contenuti della lista? Quest'ultimo è più facile:

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

Per ordinare in ordine, è necessario un componente IComparer<Person> o un Comparison<Person> . Per questo, potresti prendere in considerazione ProjectionComparer in MiscUtil .

(So ​​che continuo a portare MiscUtil - continua a essere rilevante ...)

Question

Sto usando C # su Framework 3.5. Sto cercando di ordinare rapidamente una List<> generica List<> . Per questo esempio, diciamo che ho un elenco di un tipo Persona con una proprietà di cognome. Come ordinare questo elenco usando un'espressione lambda?

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



per me questa utile guida fittizia - Ordinamento in Lista generica - ha funzionato. ti aiuta a capire 4 modi (sovraccarichi) per fare questo lavoro con spiegazioni complete e chiare e semplici esempi

  • List.Sort ()
  • List.Sort (confronto generico)
  • List.Sort (IComparer generico)
  • List.Sort (Int32, Int32, IComparer generico)



Puoi anche usare

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



puoi usare linq :) usando:

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





Links