我有两个带有两个不同对象的列表 列表abc =新的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
=============
需要根据第二个列表形式顺序对第一个列表进行排序。请提出任何建议。
答案 0 :(得分:3)
尝试根据ID在两个列表上应用LINQ连接,然后根据FormOrder对结果进行排序。
如下所示,
var res = from l1 in list1
join l2 in list2
on l1.ID equals l2.ID
orderby l2.FormOrder
select l1;
答案 1 :(得分:0)
使用.Join
,然后将第一个加入第二个。
list2.Join(list1,
l2 => l2.Id,
l1 => l1.Id,
(l1,l2) => new { l2.Id, l2.FormOrder, l1.Name, l1.City })
.OrderBy(x=>x.FormOrder);