Connaissez-vous un moyen moins couteux de faire une soustraction de
coordonnées que celle que j'ai actuellement :
Point pt1 = new Point(10,10);
Point pt2 = new Point(32,22);
Point pt3 = new Point();
pt3 = pt2 - (Size)pt1; -> sans boxer ?
MessageBox.Show("PT3 : " + pt3.ToString());
Connaissez-vous un moyen moins couteux de faire une soustraction de coordonnées que celle que j'ai actuellement :
Point pt1 = new Point(10,10); Point pt2 = new Point(32,22); Point pt3 = new Point();
C'est inutile d'allouer un nouveau Point alors qu'il ne sera pas utilisé.
pt3 = pt2 - (Size)pt1; -> sans boxer ?
Il n'y a pas de boxing ici, seulement un cast. Le boxing c'est la création d'un objet sur le tas pour référencer un type valeur.
Vous pouvez faire : Point pt3 = new Point(pt1.X - pt2.X, pt1.Y - pt2.Y);
-- Zazar
Phildes
> Connaissez-vous un moyen moins couteux de faire une soustraction de coordonnées...
Voir doc : utiliser la soustraction de coordonnée ------------ extrait de la doc ---------- ".NET Framework Class Library Point Subtraction Operator Translates a Point by the negative of a given Size. [C#] public static Point operator -( Point pt, Size sz );" --------------------------------------- ex : Point pos = new Point(100,100); pos = pos - new Size(20,80);
(je n'ai pas testé : pos -= new Size(20,80);)
Dites-moi si ça fonctionne.
Philippe Destrumel
Bismark Prods <xanaia#nospam#@urbanet.ch> a écrit dans le message :
Bonjour,
Connaissez-vous un moyen moins couteux de faire une soustraction de coordonnées que celle que j'ai actuellement :
Point pt1 = new Point(10,10); Point pt2 = new Point(32,22); Point pt3 = new Point(); pt3 = pt2 - (Size)pt1; -> sans boxer ? MessageBox.Show("PT3 : " + pt3.ToString());
Merci
Bismark
> Connaissez-vous un moyen moins couteux
de faire une soustraction de coordonnées...
Voir doc : utiliser la soustraction de coordonnée
------------ extrait de la doc ----------
".NET Framework Class Library
Point Subtraction Operator
Translates a Point by the negative of a given Size.
[C#]
public static Point operator -(
Point pt,
Size sz
);"
---------------------------------------
ex :
Point pos = new Point(100,100);
pos = pos - new Size(20,80);
(je n'ai pas testé : pos -= new Size(20,80);)
Dites-moi si ça fonctionne.
Philippe Destrumel
Bismark Prods <xanaia#nospam#@urbanet.ch> a écrit dans le message :
OEaZqwveEHA.2440@tk2msftngp13.phx.gbl...
Bonjour,
Connaissez-vous un moyen moins couteux de faire une soustraction de
coordonnées que celle que j'ai actuellement :
Point pt1 = new Point(10,10);
Point pt2 = new Point(32,22);
Point pt3 = new Point();
pt3 = pt2 - (Size)pt1; -> sans boxer ?
MessageBox.Show("PT3 : " + pt3.ToString());
> Connaissez-vous un moyen moins couteux de faire une soustraction de coordonnées...
Voir doc : utiliser la soustraction de coordonnée ------------ extrait de la doc ---------- ".NET Framework Class Library Point Subtraction Operator Translates a Point by the negative of a given Size. [C#] public static Point operator -( Point pt, Size sz );" --------------------------------------- ex : Point pos = new Point(100,100); pos = pos - new Size(20,80);
(je n'ai pas testé : pos -= new Size(20,80);)
Dites-moi si ça fonctionne.
Philippe Destrumel
Bismark Prods <xanaia#nospam#@urbanet.ch> a écrit dans le message :
Bonjour,
Connaissez-vous un moyen moins couteux de faire une soustraction de coordonnées que celle que j'ai actuellement :
Point pt1 = new Point(10,10); Point pt2 = new Point(32,22); Point pt3 = new Point(); pt3 = pt2 - (Size)pt1; -> sans boxer ? MessageBox.Show("PT3 : " + pt3.ToString());
Merci
Bismark
Phildes
Désolé, ignorez ma réponse. Je pensais que Zazar ne parlais que de l'allocation 'Point pt3 = new Point()'
En effet "(Size)pt1" va construire un objet temporaire => perte de temps -------- extrait doc ----------------- Point to Size Conversion CREATES a Size with the coordinates of the specified Point. -------------------------
Désolé, ignorez ma réponse. Je pensais que Zazar ne parlais que de
l'allocation 'Point pt3 = new Point()'
En effet "(Size)pt1" va construire un objet temporaire => perte de temps
-------- extrait doc -----------------
Point to Size Conversion
CREATES a Size with the coordinates of the specified Point.
-------------------------
Désolé, ignorez ma réponse. Je pensais que Zazar ne parlais que de l'allocation 'Point pt3 = new Point()'
En effet "(Size)pt1" va construire un objet temporaire => perte de temps -------- extrait doc ----------------- Point to Size Conversion CREATES a Size with the coordinates of the specified Point. -------------------------