递归临时住所

时间:2015-10-29 19:23:29

标签: c# visual-studio recursion

这是一个简单的乘法递归函数。

public static int Mult(int x, int y)
{
    if (y == 0)
    {
        return 0;
    }
    else
    {
        return x + Mult(x, y - 1);
    }
}

每次返回该函数并将其添加到自身......

但是直到最后一个函数返回连接,这在内存中是什么,为什么这个准存储在Visual Studio中不可见?

只是想知道线程的深度是否代表了一些神秘的堆栈 int 暂时存在?

Thread  Depth
[19260] [0] Line 21
[19260] [1] Line 14
...

1 个答案:

答案 0 :(得分:2)

方法调用存在于调用堆栈和注册表中的值中。通过打开一个单独的窗口(Debug - > Windows - > Call Stack),您可以在Visual Studio中看到有关调用堆栈的更多信息。在VS 2013中,您可以访问$ReturnValue以查看函数返回值,但在VS2015中这似乎对我没用。

您可以右键单击调用堆栈窗口以查看每个调用的值,例如:Callstack