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

标签 c# list sorting

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

所以我的问题是 List<> 的 OrderBy 方法在使用它用来排序的算法之前是否检查列表是否已经排序?由于大多数时候我的列表都会被排序,无论如何使用它都是相当浪费时间的。

最佳答案

这不是List<T>.OrderBy ,是Enumerable.OrderBy不,它不会检查列表是否已排序。可以看源码here ,如果您想始终保持列表排序,我建议您使用 SortedList SortedList<TKey,TValue> 相反。

关于c# - List<>.OrderBy() 是否检查列表是否已排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28928460/

相关文章:

c# - 如何在 Linux 上的 VSCode 中安装和使用 Winforms?

c# - 接口(interface)继承和属性隐藏麻烦

sql - 如何在 WHERE 子句中两次使用相同的列表?

list - 在 Lisp 中获取多括号列表的第一个元素

带有任意项目的列表的Python字符串格式化

c - 最快的多线程排序方法

c# - 在 Windows Phone 7 上禁用屏幕自动锁定

c# - 在 VB.NET 中声明一个十六进制常量

java - 对具有负整数的数字字符串进行排序

javascript - array.sort 不适用于对象数组