[c#] Liste <> OrderBy Ordre alphabétique


Answers

Avez-vous besoin de la liste à trier, ou simplement d'une séquence ordonnée du contenu de la liste? Ce dernier est plus facile:

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

Pour trier, vous avez besoin d'un IComparer<Person> ou d'un Comparison<Person> . Pour cela, vous pouvez envisager ProjectionComparer dans MiscUtil .

(Je sais que je continue à apporter MiscUtil - ça continue à être pertinent ...)

Question

J'utilise C # sur Framework 3.5. Je cherche à trier rapidement une List<> générique List<> . Pour le plaisir de cet exemple, disons que j'ai un type List of a Person avec une propriété de lastname. Comment trier cette liste en utilisant une expression lambda?

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



Vous pouvez aussi utiliser

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



vous pouvez utiliser linq :) en utilisant:

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



pour moi ce guide factice utile - Tri dans la liste générique - travaillé. il vous aide à comprendre 4 façons (surcharges) de faire ce travail avec des explications très complètes et claires et des exemples simples

  • List.Sort ()
  • List.Sort (Comparaison générique)
  • List.Sort (IComparer générique)
  • List.Sort (Int32, Int32, IComparer générique)





Links