C# 关键字new,新开辟空间后,原来的空间里的数据可能会被破坏吗?

C#环境下
程序如下

List<double[,]> Arrow_list = new List<double[,]>();
 double[,] Arrow =new double[2, 2]{{0,0},{0,0}}
for(int i=0;i<100;++i)
{
 Arrow = new double[2, 2]{{i,i+1},{i+2,i+3}};
Arrow_list.Add(Arrow);
}

这里列表里的元素是double[,],在添加新元素的时候,是添加的地址,所以我每次添加Arrow的时候都用了关键字new,重新获得新地址,以免前一次添加的数据被覆盖。
我想问的是,Arrow之前用过的地址,是被释放了还是仍在保护状态?
我在下一次new重新获得新地址时,是不是有可能获得之前获得过的地址,
以致List里的存的地址数据被破坏?

别听前面那个人胡说。
Arrow = new double[2, 2]{{i,i+1},{i+2,i+3}};
将Arrow指向新的内存地址,原来的还可以通过Arrow_listp[下标] 访问,也是存在的。没有任何东西被“破坏”,放心(可不是所谓“抛弃”)

不会访问到之前的地址的
List Arrow_list = new List();
for(int i=0;i<100;++i)
{
Arrow_list.Add(new double[2, 2]{{i,i+1},{i+2,i+3}});
}

for(int i=0;i<100;++i)
{
Arrow = new double[2, 2]{{i,i+1},{i+2,i+3}};
Arrow_list.Add(Arrow);
}
你将 每一次new的Arrow添加到Arrow_list后,相当于Arrow_list获得了Arrow对象的引用,在Arrow_list被回收之前,它里面的对象不会被回收,只要不手动覆盖,原先的数据是不会被破坏