[c#] Liste <> OrderBy Alphabetische Reihenfolge



Answers

Benötigen Sie die Liste an Ort und Stelle oder nur eine geordnete Reihenfolge des Inhalts der Liste? Letzteres ist einfacher:

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

Um an Ort und Stelle zu sortieren, benötigen Sie einen IComparer<Person> oder einen Comparison<Person> . Vielleicht möchten Sie ProjectionComparer in MiscUtil .

(Ich weiß, ich bringe immer MiscUtil mit - es ist einfach relevant ...)

Question

Ich verwende C # in Framework 3.5. Ich suche nach einer generischen List<> . Für dieses Beispiel nehmen wir an, dass ich eine Liste eines Personentyps mit einer Eigenschaft von lastname habe. Wie würde ich diese Liste mit einem Lambda-Ausdruck sortieren?

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



Sie können auch verwenden

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



Für mich war diese nützliche Dummy-Anleitung - Sortieren in Generic List - erfolgreich . Es hilft Ihnen, 4 Möglichkeiten (Überlastungen) zu verstehen, um diesen Job mit sehr vollständigen und klaren Erklärungen und einfachen Beispielen zu erledigen

  • List.Sort ()
  • List.Sort (Generischer Vergleich)
  • List.Sort (Generic IComparer)
  • List.Sort (Int32, Int32, generischer IComparer)



Sie können linq :) verwenden mit:

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





Links