如何排序 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