ポイントのコレクションがあるとしましょう ( 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 );