读书人

.net 内存管理有关问题

发布时间: 2012-06-27 14:20:09 作者: rapoo

.net 内存管理问题

C# code
int width =800;int height = 600;CustomClass c = new CustomClass(width ,height );


C# code
CustomClass c = new CustomClass(800,600);

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

[解决办法]
C# code
            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
[解决办法]
.net所有类型的数据都是对象,连数据的类型本身都是对象。下面的也创建对象。

读书人网 >C#

热点推荐