C# · 12月 26, 2021

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

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