c# - 使用 LINQ 获取表中的位置

标签 c# linq

我有表格玩家,其中包含以下列:ID名称点

使用 LINQ 获取按点数排序的玩家位置的最有效方法是什么?

最佳答案

任何解决方案都需要至少对所有元素进行一次迭代,但以下内容就足够了:

var ordered = players.OrderByDescending(p => p.Points).ToList();

这将一次性对元素进行排序,然后将结果存储在列表中以保留排序,而无需再次“排序”:

int position = ordered.IndexOf(player);

关于c# - 使用 LINQ 获取表中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9162417/

相关文章:

c# - Cosmos DB - ExecuteNextAsync 返回空对象

c# - iOS Row Selected 未被调用

c# - 更新 MongoDB 中的嵌入式文档详细信息

c# - 如何显示模型名称(基本上是 LabelFor 的内部文本)?

c# - 从 Tap 事件获取绑定(bind)对象

c# - JToken 上的 LINQ where 查询

asp.net-mvc - Ninject 和连接字符串

c# - 如果未从 DistinctBy 中找到重复项,则返回 0

c# - 使用自定义 IXmlSerializer 反序列化注释

.net - LINQ扩展方法不适用于EnumerableRowCollection <TRow>