【发布时间】:2010-11-22 04:07:41
【问题描述】:
一个月前我问了这个问题:Trying to find the top 3 properties of a POCO instance。得到了答案,效果很好。
现在,我正在尝试查找 POCO 对象的前 3 个属性(就像我之前的问题一样),但每个属性都有一个 WEIGHT。财产的价值是第一位的。然后权重排在第二位……如果两个或多个属性具有相同的值。
让我们扩展我之前问题中的数据作为示例的起点:-
权重数值越小越好。 1 == 最好。 10是最差的。顺便说一句,每个重量编号都是唯一的。重量数字可以是任何东西......我只需要以某种方式 weight em....
eg.
Math (weight: 1) - 83%
Engrish (weight: 6) - 82%
Chemistry (weight: 2) - 81%
Drama (Weight: 3) - 100%
Geography (weight: 4) - 82%
Sport (Weight: 5)- 81%
etc..
排名前 3 的结果依次为:
- 戏剧
- 数学
- 地理(不是英语。地理 W = 4,英语 W = 6)
我想知道这是否可以通过 Linq 实现(就像我之前的问题/答案一样)。我对字典等感到满意。我还猜测我可能需要重载 Comparer 方法?
为任何帮助干杯:)
【问题讨论】: