Ist es möglich, ein IEnumerable in ein IOrderedEnumerable umzuwandeln, ohne OrderBy zu verwenden?
Angenommen, es gibt eine Erweiterungsmethode zum Bestellen eines IQueryable auf der Grundlage mehrerer Arten von Sortierungen (d. H. Sortieren nach verschiedenen Eigenschaften), die mit a bezeichnet sindSortMethod
enum.
public static IOrderedEnumerable<AClass> OrderByX(this IQueryable<AClass> values,
SortMethod? sortMethod)
{
IOrderedEnumerable<AClass> queryRes = null;
switch (sortMethod)
{
case SortMethod.Method1:
queryRes = values.OrderBy(a => a.Property1);
break;
case SortMethod.Method2:
queryRes = values.OrderBy(a => a.Property2);
break;
case null:
queryRes = values.OrderBy(a => a.DefaultProperty);
break;
default:
queryRes = values.OrderBy(a => a.DefaultProperty);
break;
}
return queryRes;
}
In dem Fall wosortMethod
istnull
(d. h. wenn angegeben ist, dass mir die Reihenfolge der Werte egal ist), gibt es eine Möglichkeit, statt nach einer Standardeigenschaft zu sortieren, statt nur die zu übergebenIEnumerator
Werte als "bestellt" durch, ohne die eigentliche Sortierung durchführen zu müssen?
Ich hätte gerne die Möglichkeit, diese Nebenstelle anzurufen und dann evtl. einige zusätzliche durchzuführenThenBy
Bestellungen.