C#如何管理循环中新运算符分配的内存?

Far*_*Far 3 .net memory-management new-operator

例如:

for (i=0;i<10;i++)
{
   myclass = new myclass();
   // do stuff with myclass
}
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 在这种情况下,如何检索通过执行10次分配而分配的所有内存?
  2. 执行结束时我的内存占用量是多少?
  3. 使用C++中的删除功能,人们可以更好地控制它,但在这种情况下,对于第二次迭代,myclass只需要一个新的分配并继续前进?

Ry-*_*Ry- 7

由于在下一次迭代*之后不再有对每个新对象的引用,因此它们有资格被垃圾收集.但是因为你不知道什么时候会发生垃圾收集,所以对于内存占用最终可能没有直接答案.

有关更多详细信息,请参阅MSDN:垃圾收集.

*除非构造函数在某个地方添加对象的引用,否则它会坚持下去.