Jac*_*cik 2 .net c# variables scope instance
请看下面的代码:
class Parent{}
class Child : Parent
{
public int field
{
get;
set;
}
}
class Program
{
static void Main(string[] args)
{
Child child1 = new Child();
Child child2 = child1; //same memory address?
child1.field = 12;
child2.field = 14;
Console.WriteLine(child1.field); //14, as expected
child1 = null;
Console.WriteLine(child2.field); //expected to crush: 'child1' is null so expected 'child2' to also be null
Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud)
我希望这段代码崩溃,但事实并非如此.
为什么?
这不是参考工作的方式.
Child child1 = new Child();
Run Code Online (Sandbox Code Playgroud)
创建对新对象的引用Child
Child child2 = child1;
Run Code Online (Sandbox Code Playgroud)
创建另一个指向同一对象的参考child1呢
child1 = null;
Run Code Online (Sandbox Code Playgroud)
将child1 引用设置为null(它不再指向任何内容).它不会更改它指向的对象,也不会影响它child2. child2仍然指向它以前做过的同一个对象.
| 归档时间: |
|
| 查看次数: |
10365 次 |
| 最近记录: |