PointCollection 中 X 和 Y 坐标的最小值 (C#)

发布于 2024-10-03 22:16:48 字数 148 浏览 5 评论 0原文

假设我有一个点集合 (PointCollection)。 我想要做的是找到这些点中X和Y坐标的最小值。 显然,人们可以迭代该集合并逐步检查坐标。

我想知道是否有更快、更有效的解决方案。

你有什么想法吗?

谢谢

let's assume I have got a collection of points (PointCollection).
What I want to do is to find the minimal value of X and Y coordinates among these points.
Obviously one could iterate over the collection and check the coordinates step by step.

I wonder if there is a quicker and more efficient solution.

Do you have any ideas?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

讽刺将军 2024-10-10 22:16:48

打字速度更快?也许:

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;
    }
}

Quicker to type? Perhaps:

var xMin = points.Min(p => p.X);
var yMin = points.Min(p => p.Y);

But that will execute slower than a single foreach loop:

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;
    }
}
流星番茄 2024-10-10 22:16:48

要分别获取最低的 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 );

To get the lowest x and y positions seperately, use

var lowestX = pointCollection.Min( p => p.X );
var lowestY = pointCollection.Min( p => p.Y );

If you want the one with the lowest combined X and Y position, use

var lowest = pointCollection.Min( p => p.X + p.Y );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文