最近,小弟在看c#参数传递方面资料的时候,做了个(winform)示例,测试代码截图如下:
但是,问题是为什么监视中的x,y 有值呢?而且是int型的(整个测试就这一块代码,没有声明x,y的地方),怪哉!但是如果相同的代码如果是web形式的那么监视中x,y不会显示int型的,请各位指点一下。
x, y 是 this.x 和 this.y
这两个值是 Form 类的私有成员,表示窗口左上角的位置。你可以看到那个变量左边有个锁的图标,
那是私有成员。和你那个 x,y 没有关系。
如果跟到你那个Change函数里面,由于当前作用域发生变化,会显示成你那个x,y的值。
编译时预先算出来了?
watch窗口中显示的是你这个窗体类中的字段x和y。与你的change方法无关。
可能你并没有声明x和y,但你这个类是从System.Windows.Forms类继承过来的吧?这两个字段也是继承来的。
同意二楼的兄弟!
这就是一BUG,没什么好说的
楼上正解
同意5楼的说法,要不怎么是22,29呢?
学习学习...