zum Sortieren von List<T> in c# / .net
Habe ich eine Klasse PropertyDetails
:
public class PropertyDetails
{
public int Sequence { get; set; }
public int Length { get; set; }
public string Type { get; set; }
}
Ich bin erstellen einer Liste von PropertyDetails
als
List<PropertyDetails> propertyDetailsList=new List<PropertyDetails>();
Möchte ich diese Liste Sortieren, indem Sie PropertyDetails.Sequence
.
Linq-Lösungen sind willkommen.
- Liste<PropertyDetails> propertyDetailsList=new List<PropertyDetails>();
InformationsquelleAutor PramodChoudhari | 2011-01-18
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, Sortieren Sie die vorhandene Liste in-place-dann können Sie die
Sortieren
Methode:Wenn Sie möchten, erstellen Sie eine neue, sortierte Kopie der Liste, dann können Sie LINQ ist
OrderBy
Methode:(Und wenn Sie nicht brauchen, die Ergebnisse als konkrete
List<T>
dann können Sie weglassen der letztenToList
nennen.)Mithilfe von linq können Sie etwas ähnliches wie:
Aber ich bevorzuge die Verwendung eines benutzerdefinierten comparer.
Verwenden Sie nicht immer die nicht-generischen collections in C#, wenn Sie können Generika statt. Es gibt eine Menge Gründe für die Verwendung generische Sammlungen nur (außer für sehr spezielle Fälle).
Sehen, diese Frage für mehr info:
Wenn würde Sie nicht verwenden Generischer Auflistungen?
So können Sie
List<PropertyDetails>
(die ich glaube macht einSort()
- Methode) oderSortedList<,>
.