在for循环内部返回泄漏内存吗?

时间:2014-07-25 00:07:04

标签: c# for-loop memory-leaks return

基本上我需要知道的是,for循环中的返回是否会导致c#中的内存泄漏。

for (int i = 0; i <= 20; i++ ) {
    if(i == 10)
        return;
}

通常我不会写这样的代码,但我想知道如果我这样做会发生什么。

3 个答案:

答案 0 :(得分:0)

不,这不会泄漏内存。

答案 1 :(得分:0)

此处范围内有一个变量,i。因为这似乎是方法的一部分,因此在堆栈上分配,所以当方法返回时,内存被回收。由于只涉及一个整数值,我怀疑你可以在for循环结束和退出方法之间没有那个空格处理。

答案 2 :(得分:0)

这不会导致任何内存泄漏,因为当你从任何循环或方法中return时,它会结束进程并且&#34;返回&#34;出来的。 break;的工作方式相同。

您可能遇到数据泄漏的唯一方法是,如果您正在处理指针,并且离开了循环而没有对其进行去除。