日期:2014-05-17  浏览次数:20791 次

值类型new的区别
Int32 i = 0;和 Int32 i= new Int32(); i = 0;有什么区别  ?这里new 有什么作用?

------解决方案--------------------
 Int32 i= new Int32(); 
 i = 0;
汇编
0000007e  xor         edx,edx 
00000080  mov         dword ptr [ebp-44h],edx 
00000083  xor         edx,edx 
00000085  mov         dword ptr [ebp-44h],edx 

Int32 i=0;
汇编
00000083  xor         edx,edx 
00000085  mov         dword ptr [ebp-44h],edx 
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

是不是调用了默认构造函数 然后Int32 i= new Int32(); 这里i的值就已经为0了

Int32 i= new Int32(1) 如何


没有一个参数的构造函数
没深究过  不过IL告诉你了 他做了什么