Order By vs Sort用于创建有序集合

Yog*_*esh 7 c# sorting collections

我已经通过这篇文章 C#Sort和OrderBy比较

但是这个问题所接受的答案对我来说是模糊不清的.

我无法决定何时使用Sort或何时使用OrderBy.

反正是建议按彼此排序或排序.

所以,请给我一个简洁的答案,没有任何复杂性.

Dan*_*rth 24

  • Sort想要对原始列表进行排序时使用.它执行就地排序.
  • 您可以使用OrderBy,当你不想改变原来的列表,它返回一个IOrderedEnumerable<T>离开原始列表不变.或者当你没有列表但其他一些列表时.

  • 当你需要[稳定排序]时,我会添加"使用`OrderBy`"(http://en.wikipedia.org/wiki/Stable_sort#Stability) (5认同)
  • 此外,OrderBy返回IOrderedEnumerable <T>,您可以在其后链接其他LINQ函数(例如,.Select(p => ....)) (2认同)
  • @MatthewWatson:好点.我没有意识到这种差异,但MSDN证实了这一点.`Sort`执行不稳定的排序,`OrderBy`执行稳定的排序. (2认同)