C# 是否列出<>;。OrderBy()检查列表是否已排序?

C# 是否列出<>;。OrderBy()检查列表是否已排序?,c#,list,sorting,C#,List,Sorting,在我正在开发的游戏中,我需要对对象列表进行排序,以确定它们的渲染顺序。我需要对每帧列表进行排序,即每秒60次。然而,除了在比赛开始后的第一帧,列表很可能已经按顺序排列好了 所以我的问题是,在使用排序算法之前,列表的OrderBy方法是否会检查列表是否已经排序?由于大多数时间我的列表都会被排序,所以无论如何使用它都是相当浪费时间的。它不是列表。OrderBy,它是可枚举的。OrderBy不,它不会检查列表是否已经排序。如果您想一直对列表进行排序,您可以查看源代码。我建议您使用或改用。我不知道排序后

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


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

它不是
列表。OrderBy
,它是
可枚举的。OrderBy
不,它不会检查列表是否已经排序。如果您想一直对列表进行排序,您可以查看源代码。我建议您使用或改用。

我不知道排序后的列表是否合适。我需要一直对其进行排序的原因是,元素本身会发生变化,因此可能会在不同帧之间的列表中处于不同的位置(列表按游戏世界中对象的Y值排序,如果对象移动,Y值会发生变化)。如果我需要排序,也许我应该实现我自己的检查方法?你能使用堆栈吗?如果知道要添加最后一个元素,可以使用堆栈首先返回最后添加的元素。这样,您也可以使用您的列表