我上课了.我有两个实例成员变量x和y,并且该类还有一个函数,它再次接受两个名为x和y的变量.
public class MyClass
{
public int x;
public int y;
public int Add(int x , int y)
{
return (x + y);
}
}
Run Code Online (Sandbox Code Playgroud)
现在我正在创建类的实例并将值分配给实例变量.如果我使用相同的实例调用该函数,则实例变量的值将更改为我作为参数传递给函数的值,如图所示下面
MyClass abs = new MyClass();
abs.x = 10;
abs.y = 11;
Console.WriteLine(abs.Add(12, 13).ToString());
Run Code Online (Sandbox Code Playgroud)
调试时我发现实例变量的值分别变为12和13.为什么会这样?究竟发生了什么.
我确定实例字段没有改变.您很可能误解了调试器输出.如果只是观察x或y在Add方法中,调试器(监视窗口)将显示方法参数的值.你需要看this.x或this.y.
这也是我总是用下划线开始我的实例字段的原因之一.
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |