订单IEnumerable<;T>;对象

本文关键字:对象 gt lt IEnumerable 订单 | 更新日期: 2023-09-27 17:59:04

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

我还有一个Dictionary<int, int>对象,第一个int是Id(这个Id将在IEnumerable<T>列表中。第二个int是评级号。

我想根据Dictionary<int, int>内的评级订购IEnumerable<T>列表-最高的第一

我可以通过if语句和循环来实现这一点,但我有一种感觉,这可以使用linq/lambda语句来实现。

有人知道怎么做吗?

我猜是类似list.OrderBy(x => x.id == Dictionaryname. something something something 的东西

订单IEnumerable<;T>;对象

只需使用OrderByDescending

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

您可以简单地执行:

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