Ich habe eine Liste von Objekten, die eine Eigenschaft Rank haben. Dies ist eine ganze Zahl.Wie kann ich sortieren, sondern Nullen an die Unterseite setzen?
Ich möchte nach Rang auf meiner Ansicht nach sortieren, aber wenn ich dies tun:
myObjects = myObjects.Orderby(r=>r.Rank);
i erhalten alle der Nullen (diese Bedeutung haben nicht an der Spitze gesetzt)
Ich möchte um 1 zu sortieren -> n, aber die Nullen müssen am Ende der Liste stehen.
Ich möchte es so effizient eine Art wie möglich sein, wie die Liste
ist es eine bessere Art und Weise, ohne zwei volle Sorten zu tun zu haben? – leora
@leora: Siehe http://msmvps.com/blogs/jon_skeet/archive/2011/01/04/reimplementing-linq-to-objects-part-26a-iorderedenumerable.aspx (und die nachfolgenden Beiträge) für einige weitere Details –
@leora: Dies führt nicht zu zwei vollständigen Sortierungen. "OrderBy/ThenBy" ist ziemlich schlau. Denken Sie daran, das Ergebnis eines Abfrageausdrucks ist * eine Abfrage *, nicht * die Berechnung der Ergebnisse der Abfrage *. Wenn die Abfrage ausgeführt wird, weiß die Abfrage, ob nach der OrderBy ein ThenBy vorhanden ist. –