我有一个无序的点列表(List<Point>
),我希望在按X和Y排序时找到列表中的第一个点。
注意:我不想实际更改列表中项目的顺序。
答案 0 :(得分:10)
这不会改变原始列表的顺序,但会对列表的结果枚举进行排序,并选择排序后的第一个点。它通过返回默认(null)Point来处理空列表大小写。
var firstPoint = Points.OrderBy( p => p.X ).ThenBy( p => p.Y ).FirstOrDefault();
答案 1 :(得分:5)
var firstPoint = (from p in Points orderby p.X, p.Y select p).FirstOrDefault();