积极答复者
vb.net 类型转换

问题
答案
-
Hi,
如果用Reflector查看,两者在IL方面是不同的
C#
.maxstack 1 .locals init ( [0] int32 I, [1] int16 s) L_0000: nop L_0001: ldc.i4 0x89005f L_0006: stloc.0 L_0007: ldloc.0 L_0008: conv.i2 L_0009: stloc.1 L_000a: ret
VB
.maxstack 1 .locals init ( [0] int32 i, [1] int16 s) L_0000: nop L_0001: ldc.i4 0x89005f L_0006: stloc.0 L_0007: ldloc.0 L_0008: conv.ovf.i2 L_0009: stloc.1 L_000a: nop L_000b: ret
C#是用conv.i2 而VB是用conv.ovf.i2 。从msdn中找到conv.ovf.i2是会溢出的。- 已标记为答案 生命 2010年4月17日 16:40
全部回复
-
Hi,
如果用Reflector查看,两者在IL方面是不同的
C#
.maxstack 1 .locals init ( [0] int32 I, [1] int16 s) L_0000: nop L_0001: ldc.i4 0x89005f L_0006: stloc.0 L_0007: ldloc.0 L_0008: conv.i2 L_0009: stloc.1 L_000a: ret
VB
.maxstack 1 .locals init ( [0] int32 i, [1] int16 s) L_0000: nop L_0001: ldc.i4 0x89005f L_0006: stloc.0 L_0007: ldloc.0 L_0008: conv.ovf.i2 L_0009: stloc.1 L_000a: nop L_000b: ret
C#是用conv.i2 而VB是用conv.ovf.i2 。从msdn中找到conv.ovf.i2是会溢出的。- 已标记为答案 生命 2010年4月17日 16:40