2013-05-16 3 views
6

Ich habe durch diesen Artikel gewesen C# Sort and OrderBy comparisonSortierung nach vs Sortieren für die Erstellung Sammlung bestellt

Aber die Antwort auf diese Frage akzeptiert, ist mir unklar.

Ich kann nicht entscheiden, wann ich Sort verwenden soll oder wann ich OrderBy verwenden soll.

Gibt es trotzdem zu empfehlen, Sortieren oder Sortieren über einander.

Also, bitte geben Sie mir eine knappe Antwort ohne jede Komplikation.

+1

Die Antwort auf die verknüpfte Frage ist ziemlich klar: Es spielt keine Rolle für die Geschwindigkeit. Verwenden Sie, was am bequemsten ist. –

Antwort

22
  • Sie verwenden Sort, wenn Sie die ursprüngliche Liste sortieren möchten. Es führt eine direkte Sortierung durch.
  • Sie verwenden OrderBy, wenn Sie die ursprüngliche Liste nicht ändern möchten, da es eine IOrderedEnumerable<T> zurückgibt, die die ursprüngliche Liste unberührt lässt. Oder wenn Sie keine Liste haben, aber eine andere aufzählbare Liste.
+5

Ich würde "Use' OrderBy "hinzufügen, wenn Sie eine [Stable Sort] benötigen (http://en.wikipedia.org/wiki/Stable_sort#Stability) –

+2

Außerdem gibt OrderBy ein IOrderedEnumerable zurück, und Sie können andere LINQ verketten Funktionen danach (z. B. .Wählen (p => ....)) – icesar

+2

@MatthewWatson: Guter Punkt. Ich war dieser Unterschied nicht bewusst, aber die MSDN bestätigt es. 'Sort 'führt eine instabile Sortierung durch,' OrderBy 'führt eine stabile Sortierung durch –

Verwandte Themen