c# - 基于字典排序 IEnumerable<T> 对象

标签 c# .net linq generics dictionary

我有一个 IEnumerable<T>列表。 - T 是自定义类型,该类型的成员之一是名为 Id 的 int。

我还有一个 Dictionary<int, int> object 第一个 int 是一个 Id(这个 id 将在 IEnumerable<T> 列表中。第二个 Int 是一个评级数字。

我想订购 IEnumerable<T>根据内部评级列出Dictionary<int, int> - 最高优先

我可以通过 if 语句和循环来做到这一点,但我觉得这可以使用 linq/lambda 语句来完成。

有人知道如何做到这一点吗?

我猜是 list.OrderBy(x => x.id == Dictionaryname. something something something

最佳答案

只需使用 OrderByDescending

var sorted = list.OrderByDescending(x => dictionary[x.id])

关于c# - 基于字典排序 IEnumerable<T> 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30984672/

相关文章:

c# - C#应用程序如何调用java应用程序

c# - 客户端/服务器应用程序 - 丢失字节

c# - 将 XDocument 转换为流

c# - NEST ElasticSearch for 你的意思是功能

c# - 为什么我的具有多个参数的 LINQ 表达式无法编译?

c# - 处理类继承自抽象类和类型参数

c# - 跳出包含 switch 语句的 while 循环

.net - 安装了 .net 2.0 框架的 PC 的可能性

.net - 使用 vb.net 对大型 Excel 文件执行 SQL 查询的最佳方法是什么?

c# - 将 sql 语句转换为 lambda 以在 razor 页面中使用