看懂你意思了。实际代码应该是这样的。Point Location;Location = new Point(0, 200); Location = new Point(Location.X, Location.Y);
你的意思是,new会把Point内Location.X, Location.Y重新赋值,Location.Y就不会再是200.
老实说,我所知道的new,最常用的作用就是实例化一个类,它会重新赋值?不敢苟同。
就假设它会使后面的重新赋值。那该是怎么个赋值方式呢?把Location.X,和Location.Y都置为0?这显然是不合理的,因为这样的话,Location最后的值就变成x=
0,y=0了,那就跟我传的Point内参数0,200一点关系都没有了,又何必写一句Point(Location.X, Location.Y);呢
new在这里的作用是用于创建对象和调用构造函数。Location = new Point(Location.X, Location.Y);中,x,y是构造函数Point的两个参数,它们传进来的值分别是0,200.在new实例化后,并不会影响参数本身的值。
如果你非要让new后,Location的x,y变为0.那就用Point的无参数构造形式吧(其实默认变为0)。
你可以通过以下代码体会以下,Point带参数和不带参数的区别。Location = new Point(0, 200);
MessageBox.Show(Location.Y.ToString());//弹出对话框200
Location = new Point();
MessageBox.Show(Location.Y.ToString());//弹出对话框0
|