【发布时间】:2018-01-03 01:43:38
【问题描述】:
在下面的代码中,myArray 最初指向的内存在第 2 行重新分配后会发生什么情况?是内存丢失了,还是 C# 垃圾收集器处理了它?
static void Main(string[] args)
{
double[] myArray = new Double[10];
myArray = new Double[3];
}
就我一直在阅读的内容而言,没有办法显式释放内存,所以我希望 C# 能自动做到这一点。
【问题讨论】:
-
垃圾收集器会处理它
-
数据仍会在内存中保留一段时间。因为您不再有任何指向该数据的指针,GC 将在必要时收集该空间。