值和引用类型的内存管理

时间:2015-05-06 09:40:07

标签: c# .net memory-management stack heap

我搜索了reference type vs value type in C#的主题以及堆栈和堆中的数据分配。

从这些来源stackoverflow questionthis article,我得出了这样的结论:

  • 引用类型的值存储在堆上,此值的地址存储在堆栈中
  • 值类型存储在堆栈中
  • 运行功能的局部变量存储在堆栈中
  • 全局变量存储在堆

我几乎没有问题:

  1. 如果我有一个全局变量,它是一个值类型。它将被存储在哪里?
  2. 如果我有一个本地引用类型变量。它将被存储在哪里?
  3. 为什么建议写这个:

    public class OurClass()
    {
       public ClassA objA;  
       public OurClass()
       {
        objA = new ClassA();
       }
    }
    
  4. 而非撰写

     public class OurClass()
        {
           public ClassA objA = new ClassA(); 
           public OurClass()
           {
    
           }
        }
    

    它与分配绩效有关系吗?

    谢谢,

0 个答案:

没有答案
相关问题