首页 > 解决方案 > 如何根据另一个列表中的表单顺序对列表进行排序

问题描述

我有两个列表,其中包含两个不同的对象列表 abc = new List(); 每个对象都有 ID、名称和城市等字段。另一个列表包含列表 mno = new List(); 每个对象都包含 ID、FormOrder。

喜欢:List1

ID     Name     City
===================
205   AAAA    XXX
------------------
101   NNN    YYYY
------------------
105   CBC    NNN
------------------
25    NAN    CAP
=================


List2:

ID    FormOrder
=============
101     0
-------------
205     3
-------------
105     5
-------------
25      6
=============

需要根据第二个列表表单顺序对第一个列表进行排序。请有任何建议。

标签: c#linq

解决方案


尝试根据 ID 在两个列表上应用 LINQ 连接,然后根据 FormOrder 对结果进行排序。

像下面的东西,

var res = from l1 in list1 
          join l2 in list2 
          on l1.ID equals l2.ID 
          orderby l2.FormOrder
          select l1;

推荐阅读