我有两个这样的对象列表:
List<Result> result = [{id: 1, country: 'France'}, {id: 2,country: 'Sweden'}, {id: 5,country: 'Denmark'}]
List<OrderResult> orderResult = [{id: 5, score: 12}, {id: 1, score: 11}, {id: 2, score 10}]
我会根据数组 orderResult 的顺序对列表结果进行排序以获得这个最终结果:
result = [{id: 5, country 'Denmark'}, {id: 1, country: 'France'}, {id: 2, country: 'Sweden'}]
您可以将 OrderResult 列表转换为以 id 为键和索引为值的字典:
var orderDict = orderResults
.Select((value, index) => (value.Id, index))
.ToDictionary(p => p.Id, p => p.index);
然后对结果进行排序应该很简单,假设所有结果在 orderResults. 中都有相应的条目:
result.OrderBy(r => orderDict[r.id]);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句