假设我有一组点 ( PointCollection
)。我想要做的是找到这些点之间 X 和 Y 坐标的最小值。显然,可以遍历集合并逐步检查坐标。
我想知道是否有更快更有效的解决方案。
你有什么想法?
谢谢
假设我有一组点 ( PointCollection
)。我想要做的是找到这些点之间 X 和 Y 坐标的最小值。显然,可以遍历集合并逐步检查坐标。
我想知道是否有更快更有效的解决方案。
你有什么想法?
谢谢
打字更快?也许:
var xMin = points.Min(p => p.X);
var yMin = points.Min(p => p.Y);
但这将比单个循环执行得慢:foreach
bool first = true;
foreach(var point in points) {
if(first) {
xMin = point.X;
yMin = point.Y;
first = false;
} else {
if(point.X < xMin) xMin = point.X;
if(point.Y < yMin) yMin = point.Y;
}
}
要分别获得最低的 x 和 y 位置,请使用
var lowestX = pointCollection.Min( p => p.X );
var lowestY = pointCollection.Min( p => p.Y );
如果您想要 X 和 Y 位置组合最低的那个,请使用
var lowest = pointCollection.Min( p => p.X + p.Y );