2009-05-06 7 views
6

Ist es möglich, eine IOrderedEnumerable<T> von einer Methode ohne die OrderBy oder OrderByDescending Methoden auf eine IEnumerable<T> zurückgeben?C#: Ist es möglich, eine IteredEnumerable <T> zurückzugeben?

Ich rate vielleicht nicht ... aber ... vielleicht liege ich falsch?


Grund: Vor allem Neugier. Es traf mich nur, wenn this answer auf Ziffern in einer Zahl zurückgeben. Und meine Methode würde die Ziffern in aufsteigender Reihenfolge entsprechend ihrem Gewicht in der gegebenen Zahl zurückgeben. Also dachte ich, es könnte nett sein, wenn sie so geordnet herauskommen, dass der Rahmen sie auch als bestellt erkennen würde. Natürlich können wir argumentieren, dass sie von einem gemeinsamen Nummernstandpunkt aus nicht geordnet wurden. Aber ja ... wenn sie das sollten oder nicht sollten, war das nicht der Punkt hier. Nur wenn es möglich war oder nicht.

Ich glaube, ich bin auch eine Frage impliziert (oder bin jetzt zumindest) auf, wenn ein IOrderedEnumerable<T> mehr als nur ein IEnumerable<T> mit einem anderen Namen ist. Enthält es mehr? Ich weiß, es hat die ThenBy und ThenByDescending Methoden, aber verwenden sie alles innerhalb der IOrderedEnumerable<T>, oder ist es nur, dass sie nicht sinnvoll sind, direkt auf eine IEnumerable<T> zu verwenden?

+0

Und warum brauchen Sie diesen Typ? – Migol

+0

Möchten Sie eine sortierte Sammlung? –

Antwort

2

Nun, Sie können IOrderedEnumerable<T> selbst implementieren, wenn Sie auch wollen ... es ist nicht hugeely hart, je nachdem, was Sie tun müssen. Die einfachste Option ist nur OrderBy/OrderByDescending obwohl :)

Warum bist du interessiert?

Verwandte Themen