读书人

值类型new的差异

发布时间: 2013-09-29 11:07:08 作者: rapoo

值类型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告诉你了 他做了什么

读书人网 >C#

热点推荐