Besteht aufsteigendes Keyword nur aus Gründen der Übersichtlichkeit, wenn es mit orderby verwendet wird?

8

Wenn ich eine Abfrage mache, Elemente wie folgt bestellend, bekomme ich aufsteigende Reihenfolge.

%Vor%

Wenn ich das Schlüsselwort ascending hinzufüge, bekomme ich die gleichen Ergebnisse.

%Vor%

Ich weiß, dass das Hinzufügen des Schlüsselworts ascending im zweiten Beispiel die Lesbarkeit erhöhen könnte, da die Standardreihenfolge von orderby nicht mehr benötigt wird.

Gibt es einen anderen Grund dafür, dass das Schlüsselwort ascending existiert?

Ich bin auch daran interessiert, zu wissen, warum dies (Bruchänderung?) nur für den Einsatz in einem bestimmten Fall erzwungen wurde.

Bearbeiten: Siehe unten stehende Kommentare, @ Joey weist darauf hin, dass es sich nicht um eine brechende Änderung handelt, da es sich um ein kontextabhängiges Schlüsselwort handelt.

    
George Duckett 08.06.2011, 10:04
quelle

1 Antwort

7

Ja, es ist überflüssig. Es gibt keine Umstände, wenn es etwas anderes tut, da die Reihenfolge implizit aufsteigend ist.

Ich schätze, es liefert Vollständigkeit, aber es ist tatsächlich eine Schande, ein Stichwort in die Sprache einzuführen, die so ... ohnmächtig ist.

Auf der anderen Seite allerdings:

  • es imitiert SQL, das in Bezug auf die Semantik weitgehend verwandt ist
  • es vermeidet das "wie kann ich?" Fragen
  • es schadet nicht, und niemand zwingt dich, es zu benutzen
  • es (wohl) macht Dinge klarer, wenn Sie a descending, b ascending, c descending, d ascending etc
  • haben

Beispiel (siehe Kommentare), dass order by a, order by b sich tatsächlich sehr von order by a, b unterscheidet:

%Vor%

druckt:

%Vor%

Beachten Sie, dass die mittleren zwei umgekehrt sind. Dies liegt an dem Unterschied zwischen:

%Vor%

in der ersten Schleife und

%Vor%

in der zweiten.

Da LINQ versucht, eine stabile Sortierung zu gewährleisten (dh wenn Übereinstimmungen vorhanden sind, werden die Daten in der ursprünglichen Reihenfolge beibehalten), führt %%_Code% die erste Sortierung (auf X) durch resorts die Daten, nur Blick auf die ursprüngliche (sortiert nach X) Reihenfolge, wenn die Ys übereinstimmen. Oder mit anderen Worten: Sie dreht sie von links nach rechts.

    
Marc Gravell 08.06.2011, 10:39
quelle

Tags und Links