引用类型问题,求大神解惑!
static void Main(string[] args)
{
Test123[] ts=new Test123[10];
Test123 t = new Test123();
t.i = 100;
ts[0] = t;
Test123 t2 = new Test123();
t2 = ts[0];
t2.i = 99;
t2 = null;
Console.WriteLine(ts[0].i.ToString());
}
为什么这段代码执行后的结果会是99呢,从始至终我都没有把t2 赋给过 ts[0]啊,
我只是把 ts[0] 赋给了t2, 那么是不是说t2的内存地址已经指向了 ts[0] ,然后改变t2的值也就等于改变了 ts[0],
那么就算是这样,为什么后面t2=null;的时候 ts[0]没有跟着null呢,不是指向了同一个内存地址么?