1. 程式人生 > >MSIL實用指南-數據類型轉換

MSIL實用指南-數據類型轉換

double code ner PE oat 實用 typeof ssa msil

一、類的強制轉換
1.轉換成某個類
用Castclass指令。
實例代碼:
ilGenerator.Emit( OpCodes.Castclass , typeof(ClassA) );

2.轉換成某個值類型
用Unbox_Any指令。
實例代碼:
ilGenerator.Emit( OpCodes.Unbox_Any , typeof(DateTime) );
ilGenerator.Emit( OpCodes.Unbox_Any , typeof(int) );

二、值類型的強制轉換

1.轉化為sbyte
用Conv_I1指令。

1.轉化為sbyte
用Conv_I1指令。


2.轉化為short
用Conv_I2指令。


3.轉化為int
用Conv_I指令。

4.轉化為long
用Conv_I8指令。

5.轉化為float
用Conv_R4指令。

6.轉化為double
用Conv_R8指令。

7.轉化為byte
用Conv_U1指令。

8.轉化為ushort
用Conv_U2指令。

9.轉化為uint
用Conv_U指令。

10.轉化為ulong
用Conv_U8指令。

MSIL實用指南-數據類型轉換