c# – 引用类型存在于堆中,值类型在堆栈中生效

前端之家收集整理的这篇文章主要介绍了c# – 引用类型存在于堆中,值类型在堆栈中生效前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在阅读“C#深度”时,我正在浏览“参考类型在堆上生活”一节,值类型存在于堆栈中.

现在我可以理解(主要是ref型):

class Program
{
    int a = 5;  // stored in heap

    public void Add(int x,int y) // x,y stored in stack
    {
        int c = x + y;  // c  stored in stack
    }
}

只是想澄清我的假设是否正确.谢谢.
编辑:
我应该使用diff变量,我认为它创建了一个混乱.我已经修改代码.

编辑:
是的,正如乔恩提到的 – 这是一个神话,我应该提到这一点.我道歉.

解决方法

http://blogs.msdn.com/b/ericlippert/archive/2009/04/27/the-stack-is-an-implementation-detail.aspx

整个“堆上的引用类型,堆栈上的值类型”不仅是一个坏的方法,而且也是错误的.

猜你在找的C#相关文章