.net C#如何管理循环中新操作符分配的内存?
例如:.net C#如何管理循环中新操作符分配的内存?,.net,memory-management,new-operator,.net,Memory Management,New Operator,例如: for (i=0;i<10;i++) { myclass = new myclass(); // do stuff with myclass } for(i=0;i由于在下一次迭代*之后没有对每个新对象的引用,因此它们有资格被垃圾收集。但是,由于您不知道所述垃圾收集将在何时发生,因此对于最终的内存占用没有直接的答案 有关更多详细信息,请参阅 *除非构造函数将引用添加到对象的某个地方,否则它会粘在一起。FYI,这不是C问题,而是.NET问题。+1.旁注:如果myClas
for (i=0;i<10;i++)
{
myclass = new myclass();
// do stuff with myclass
}
for(i=0;i由于在下一次迭代*之后没有对每个新对象的引用,因此它们有资格被垃圾收集。但是,由于您不知道所述垃圾收集将在何时发生,因此对于最终的内存占用没有直接的答案
有关更多详细信息,请参阅
*除非构造函数将引用添加到对象的某个地方,否则它会粘在一起。FYI,这不是C问题,而是.NET问题。+1.旁注:如果myClass
实际上是struct
的话,情况会有所不同,但希望不是这样。我想补充一点,使用托管语言的最大好处是你不必担心像这样的事情。@iamkrillin-正确,我实际上有嵌入式系统的C背景,所以我自然而然地想到了这些问题;)