int width =800;
int height = 600;
CustomClass c = new CustomClass(width ,height );CustomClass c = new CustomClass(800,600);想大虾分析下以上两种情况,.net 的内存分配是否一样。下面的例子中,参数800和600是否有创建对象,并占用内存。

解决方案 »

  1.   


                int x = 800;
    00000033  mov         edi,320h 
                int y = 600;
    00000038  mov         ebx,258h             Customclass c1 = new Customclass(x, y);
    0000003d  mov         ecx,9E9D90h 
    00000042  call        FD160AA4 
    00000047  mov         esi,eax 
    00000049  push        ebx  
    0000004a  mov         edx,edi 
    0000004c  mov         ecx,esi 
    0000004e  call        FD17B108 
    00000053  mov         dword ptr [ebp-48h],esi             Customclass c2 = new Customclass(800, 600);
    00000056  mov         ecx,9E9D90h 
    0000005b  call        FD160AA4 
    00000060  mov         esi,eax 
    00000062  push        258h 
    00000067  mov         ecx,esi 
    00000069  mov         edx,320h 
    0000006e  call        FD17B108 
    00000073  mov         dword ptr [ebp-4Ch],esi 
    debug方式下的,自己比较
      

  2.   

    .net所有类型的数据都是对象,连数据的类型本身都是对象。下面的也创建对象。