使用另一个复杂对象列表对复杂对象列表进行排序 C#

罗布无

我有两个这样的对象列表:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

排序列表对象与另一个对象

在C#中,如何使用另一个列表的StartsWith()条件过滤列表?

C#从另一个列表更新列表

基于另一个对象的值对类中的二维对象进行排序并将值赋予c ++

Unity-C#在销毁另一个列表中的对象时尝试更改一个列表中项目的标签

C#linq在列表中选择对象,在另一个对象列表中查找

C#空对象属性来自另一个类的列表

如何在C#中将对象列表中的值分配给另一个列表

C#LINQ使用值列表按子列表过滤复杂对象列表

使用LINQ C#合并另一个列表中的列表

从另一个列表中的列表中的对象获取最大值[C#]

C#对包含一个对象的另一个列表的对象的列表进行排序

C#asp.net从另一个列表创建字符串列表,该列表返回类对象的列表

如何编写LINQ查询以使用C#从另一个对象获取对象?

从另一个类C ++获取对象的属性

C#重新排序Directory.GetFiles来自另一个对象的列表

我应该如何使用谓词逻辑基于列表对象在C#中从另一个列表中包含元素,从而从通用列表中删除元素?

C#打印另一个类的列表

如何使用继承从C#中的另一个类进行调用和对象

C#从另一个列表的值对列表进行排序

按在另一个列表中找到的值对列表进行排序C#

如何使用 C# 创建一个复杂的 JSON 对象

检查列表是否根据另一个列表排序 C#

如何在 C# 中以另一个排序列表为基础对 IList 进行排序?

C# 中的 FluentValidation - 使用另一个对象中的属性进行验证

如何在 LINQ C# 中使用另一个列表过滤列表

在 C# 中可以用另一个列表对象替换列表对象

根据C#中的另一个对象数组对一个对象数组进行排序

c# - 从另一个 DLL 获取 Type 对象列表