在我正在开发的游戏中,我需要对对象列表进行排序,以确定它们的渲染顺序。我需要每帧对列表进行排序,每秒 60 次。然而,除了游戏开始后的第一帧之外,该列表可能已经按顺序排列。
所以我的问题是 List<> 的 OrderBy 方法在使用它用来排序的算法之前是否检查列表是否已经排序?由于大多数时候我的列表都会被排序,无论如何使用它都是相当浪费时间的。
最佳答案
这不是List<T>.OrderBy
,是Enumerable.OrderBy
不,它不会检查列表是否已排序。可以看源码here ,如果您想始终保持列表排序,我建议您使用 SortedList
或 SortedList<TKey,TValue>
相反。
关于c# - List<>.OrderBy() 是否检查列表是否已排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28928460/