基本上我需要知道的是,for循环中的返回是否会导致c#中的内存泄漏。
for (int i = 0; i <= 20; i++ ) {
if(i == 10)
return;
}
通常我不会写这样的代码,但我想知道如果我这样做会发生什么。
答案 0 :(得分:0)
不,这不会泄漏内存。
答案 1 :(得分:0)
此处范围内有一个变量,i
。因为这似乎是方法的一部分,因此在堆栈上分配,所以当方法返回时,内存被回收。由于只涉及一个整数值,我怀疑你可以在for循环结束和退出方法之间没有那个空格处理。
答案 2 :(得分:0)
这不会导致任何内存泄漏,因为当你从任何循环或方法中return
时,它会结束进程并且&#34;返回&#34;出来的。 break;
的工作方式相同。
您可能遇到数据泄漏的唯一方法是,如果您正在处理指针,并且离开了循环而没有对其进行去除。