如何排序 List<Point> [重复]

Posted

技术标签:

【中文标题】如何排序 List<Point> [重复]【英文标题】:How to sort List<Point> [duplicate] 【发布时间】:2013-05-21 22:49:33 【问题描述】:

我有这个变量:

List<Points> pointsOfList;

它包含未排序的点((x,y) - 坐标);

我的问题是如何按 X 降序对列表中的点进行排序。

例如:

我有这个:(9,3)(4,2)(1,1)

我想得到这个结果:(1,1)(4,2)(9,3)

提前谢谢你。

【问题讨论】:

您的示例显示了按 X 升序排序的列表。 【参考方案1】:
pointsOfList.OrderBy(p=>p.x).ThenBy(p=>p.y)

【讨论】:

我可能错了,但你必须给它赋值,对吗? 您的意思是“给它赋值”而不是“给它赋值”吗?如果是的话,我记下的表达式会计算出所请求的内容,然后他需要继续执行或存储它或任何他想做的事情。【参考方案2】:

LINQ:

pointsOfList = pointsOfList.OrderByDescending(p => p.X).ToList();

【讨论】:

【参考方案3】:

这个简单的控制台程序可以做到这一点:

class Program

    static void Main(string[] args)
        
        List<Points> pointsOfList =  new List<Points>()
            new Points()  x = 9, y = 3,
            new Points()  x = 4, y = 2,
            new Points()  x = 1, y = 1
        ;

        foreach (var points in pointsOfList.OrderBy(p => p.x))
        
            Console.WriteLine(points.ToString());
        

        Console.ReadKey();
    


class Points

    public int x  get; set; 
    public int y  get; set; 

    public override string ToString()
    
        return string.Format("(0, 1)", x, y);
    

【讨论】:

以上是关于如何排序 List<Point> [重复]的主要内容,如果未能解决你的问题,请参考以下文章

1083 List Grades (25point(s)) Easy only once

c#如何定义全局变量list

如何按 .NET 2.0 中的特定属性对列表进行排序? [复制]

使用 lambda 函数在 C++ 中按然后排序

share point 客户端模式 创建 list

1028 List Sorting (25point(s)) Easy only once