1

ポイントのコレクションがあるとしましょう ( PointCollection)。私がやりたいことは、これらの点の間で X 座標と Y 座標の最小値を見つけることです。明らかに、コレクションを反復処理して、座標を段階的に確認できます。

より迅速で効率的な解決策があるのではないかと思います。

あなたはなにか考えはありますか?

ありがとう

4

2 に答える 2

4

入力が速い?多分:

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;
    }
}
于 2010-11-22T12:21:16.563 に答える
2

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 );
于 2010-11-22T12:22:09.390 に答える