按关系排序两个列表

时间:2012-08-21 23:11:22

标签: c# list sorting

因为我可以对两个列表或两个向量进行排序,即我按照她的顺序对列表(距离)进行排序,因为我订购了另一个列表来保存索引。 感谢。

的Pd。我正在研究Net framework 2.0

List1          List2
[0]=125        [0]=1
[1]=130        [1]=2
[2]=124        [2]=3
[3]=128        [3]=4

排序List1之后我想要这个

List1          List2
[0]=124        [0]=3
[1]=125        [1]=1
[2]=128        [2]=4
[3]=130        [3]=2

的Pd。我的清单有2000条记录......

我能做什么? THKS ..

1 个答案:

答案 0 :(得分:1)

List<decimal> scores = GetScores();
List<Fruit> fruit = GetFruit();

List<Tuple<decimal, Fruit>> sortedPairs = scores
  .Zip(fruit, (s, f) => Tuple.Create(s, f))
  .OrderBy(x => x.Item1)
  .ToList();

scores = sortedPairs.Select(x => x.Item1).ToList();
fruit = sortedPairs.Select(x => x.Item2).ToList();

现在你所要做的就是实现Zip,OrderBy,Select,ToList和Tuple。