Les valeurs minimales des coordonnées X et Y dans PointCollection (C #)
-
27-09-2019 - |
Question
Supposons que j'ai une collection de points (PointCollection
).
Ce que je veux faire est de trouver la valeur minimale des coordonnées X et Y entre ces points.
Il est évident que l'on pourrait effectuer une itération sur la collecte et l'étape consistant à vérifier des coordonnées par étape.
Je me demande s'il y a une solution plus rapide et plus efficace.
Avez-vous des idées?
Merci
La solution
rapide à taper? Peut-être:
var xMin = points.Min(p => p.X);
var yMin = points.Min(p => p.Y);
Mais cette volonté exécuter plus lent qu'une seule boucle de 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;
}
}
Autres conseils
Pour obtenir les plus bas et les positions x y séparement, utilisez
var lowestX = pointCollection.Min( p => p.X );
var lowestY = pointCollection.Min( p => p.Y );
Si vous voulez celui avec la position la plus basse combiné X et Y, utilisez
var lowest = pointCollection.Min( p => p.X + p.Y );
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow