C# Linq 使用参考列表对列表进行排序

ahm*_*met 5 c# linq

我有两个列表,我需要将一个列表与另一个列表进行排序。

var orderList = new List<long>() {4, 55, 34};
var itemList = new List<Branch>() { {Id=55, Name="X"},  {Id=34, Name="Y"}, {Id=4, Name="Z"} }; 
Run Code Online (Sandbox Code Playgroud)

我如何itemList根据第一个列表来订购第二个列表orderList

有没有 linq 的捷径?

更新:

orderList将始终包含所有预期的Id分支itemList

Fab*_*jan 4

您可以按LINQ其他数组中的索引使用和排序项目:

var orderedItemList = itemList.OrderBy(x => orderList.IndexOf(x.Id)).ToList();
Run Code Online (Sandbox Code Playgroud)