如何根据第一个列表对2个列表进行排序

And*_*nis -5 c# linq sorting list c#-4.0

有2个清单

  1. list_int
  2. ptdPoints

我需要根据list_in对ptdPoints进行排序

我目前的代码如下: -

List<int> list_int = new List<int>() {1,9,3};
List<PointF> ptdPoints= new List<PointF>();
ptdPoints.Add(new PointF(20,10));
ptdPoints.Add(new PointF(10,80));
ptdPoints.Add(new PointF(60,30));
Run Code Online (Sandbox Code Playgroud)

如何根据list_int的升序排序list_int和ptdPoints

这里的结果如下=>

  • 1 =>(20,10)
  • 3 =>(60,30)
  • 10 =>(10,80)

所以我按升序排列list_int,其他索引中的相应值也会发生变化.

任何帮助,将不胜感激.

Seb*_*zus 7

无论你想做什么,如果你把两个列表的数据放在一个对象和一个列表中,然后对这个列表进行排序,它可能是一个更好的解决方案.

这样的事情(未经测试,即时编写):

class OrderedPoint
{
    public int Order {get;set;}
    public PointF Point {get;set;}

    public static int CompareByOrder(OrderedPoint x, OrderedPoint y)
    {
        return x.Order.CompareTo(y.Order);
    }
}

List<OrderedPoint> list;
// TODO: Fill it
list.Sort(OrderedPoint.CompareByOrder);
Run Code Online (Sandbox Code Playgroud)