C#Does List<> .OrderBy()检查列表是否已排序?

时间:2015-03-08 15:52:02

标签: c# list sorting sql-order-by sorted

在我正在开发的游戏中,我需要对对象列表进行排序,以确定它们的呈现顺序。我需要每帧排序列表,每秒60次。但是,除了游戏开始后的第一帧之外,列表可能已经按顺序排列。

所以我的问题是List<>的OrderBy方法是否在使用它用于排序的任何算法之前检查列表是否已经订购?由于大部分时间我的列表都会被排序,所以无论如何都要浪费时间。

由于 //迈克尔

1 个答案:

答案 0 :(得分:2)

它不是List<T>.OrderBy,而是Enumerable.OrderBy,不会检查列表是否已经排序。您可以查看源代码here,如果您希望在我建议您使用SortedListSortedList<TKey,TValue>的情况下保持列表的排序。