Ric*_*ral 3 c# linq sorting dictionary list
以下字典表示目标城市ID的键/值对以及与该城市关联的过滤器数量:
Dictionary<int, int> totalCityFilters
Run Code Online (Sandbox Code Playgroud)
这个词典按过滤器的数量降序排序,这就是我需要它的方式.然后我有一个未分类的航班列表:
List<Flight> unsortedFlights
Run Code Online (Sandbox Code Playgroud)
每个Flight对象都有一堆其中最相关的我的问题是性能DestinationID和FinalPrice.我需要根据以下2个前提创建一个新的航班列表:
totalCityFilters该字典的键与该属性匹配的顺序进行排序DestinationID.航班列表可能有多个相同的航班DestinationID(这不是主键).FinalPrice属性进行排序(升序).但是,第二种不能破坏第一种.我的意思是,如果B.DestinationID首先出现的话,更便宜的航班(A)不得在更昂贵的航班(B)A.DestinationID之上totalCityFilters.
如果我理解你:
var result = unsortedFlights
.OrderByDescending(f => totalCityFilters[f.DestinationID])
.ThenBy( f => f.FinalPrice)
.ToList();
Run Code Online (Sandbox Code Playgroud)
如果值totalCityFilters是您要先订购的数字.