Nee*_*pta -2 .net c# reference
我有一个有一个属性的班级
public class Test
{
public string Name { get; set; }
}
private void TestReference()
{
Test tst1 = new Test();
tst1.Name = "ASP.NET";
Test tst2 = tst1;
tst1.Name = "JAVA";
string name = tst2.Name; // Shows "JAVA" because of reference sharing
tst1 = null;
bool isNullObj = tst2 == null; // isNullObj is false
}
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,当我设置tst.Name = "JAVA"此更改时也tst2.Name因为引用共享而反映出来 ,这个我理解但是当我设置时tst = null; tst2仍然活着.我的问题是,如果是分享参考!为什么tst2还活着?
tst1并且tst2是保存对内存中对象的引用的变量.如果两者都指向同一个对象,则可以通过任何引用更改对象.
如果您重新引用其中一个变量,则另一个变量仍将保留其引用.这就是设置tst1为null(或任何其他值)不影响的原因tst2.
这就是你在记忆中所拥有的:
