我有两个列表{ 7 3 5 }{9 8 1}

我想对第一个列表进行排序,并且希望第二个列表具有与第一个列表相同的索引排列。
{3 5 7} => {8 1 9}
是否可以在单个LINQ语句中执行此操作?

最佳答案

听起来像您可能想要:

var list1 = new List<int> { 7, 3, 5 };
var list2 = new List<int> { 9, 8, 1 };

var orderedZip = list1.Zip(list2, (x, y) => new { x, y } )
                      .OrderBy(pair => pair.x)
                      .ToList();
list1 = orderedZip.Select(pair => pair.x).ToList();
list2 = orderedZip.Select(pair => pair.y).ToList();

关于c# - 如何使用LINQ同时对2个列表进行排序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10655327/

10-13 03:12