using System;class TestCode
{
    static void Main(string[] args)
    {
        int[] num = new int[] { 1, 2 };
        for (int i = 0; i < num.Length; i++)
        {
            Console.WriteLine(num[i]);
        }
        Test(num);
        for (int i = 0; i < num.Length; i++)
        {
            Console.WriteLine(num[i]);
        }
        Console.ReadKey();
    }    static void Test(int[] i)
    {
        i[0] = 4;
    }
}
哪位可以给我把这段程序的堆栈占用内存空间和变量占用内存空间计算出来

解决方案 »

  1.   

    不能精确地指出每个方法占用的内存,不等于无法获取有关的类似信息。
    Process类中,有多个属性可以知道内存使用的情况的:  NonpagedSystemMemorySize64  获取为关联的进程分配的非分页系统内存量。 
      PagedMemorySize64  获取为关联的进程分配的分页内存量。 
      PagedSystemMemorySize64  获取为关联的进程分配的可分页系统内存量。 
      PeakPagedMemorySize64  获取关联的进程使用的虚拟内存分页文件中的最大内存量。 
      PeakVirtualMemorySize64  获取关联的进程使用的最大虚拟内存量。 
      PeakWorkingSet64  获取关联的进程使用的最大物理内存量。