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

我也有一个Dictionary<int, int>对象,第一个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/

10-12 12:41
查看更多