OpCodes.Conv_I 欄位
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將評估堆疊 native int頂端的值轉換為 。
public: static initonly System::Reflection::Emit::OpCode Conv_I;
public static readonly System.Reflection.Emit.OpCode Conv_I;
staticval mutable Conv_I : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_I As OpCode
欄位值
備註
下表列出指令的十六進位及 Microsoft 中介語言(MSIL)組合格式,並附有簡短參考摘要:
| Format | 組裝格式 | Description |
|---|---|---|
| D3 | Conv.I | 轉換成 native int,推進 native int 堆疊。 |
堆疊的過渡行為依序為:
value被推到堆疊上。value從堆疊中彈出,並嘗試轉換操作。若轉換成功,所得值會被推入堆疊。
conv.i操作碼會將堆疊頂端的值value轉換成操作碼中指定的型別,並將該轉換後的值留在堆疊頂端。 整數值小於 4 位元組時會被擴展到 int32 載入評估堆疊時(除非 conv.i 使用 或 conv.u ,此時結果也會 native int是 )。 浮點數值會轉換成類型 F 。
從浮點數轉換為整數值會將該數字截斷至零。 從 轉換為 float64 時 float32,精度可能會損失。 若 value 太大無法放入 float32 (F),則返回正無限大(若 value 為正)或負無限大(若 value 為負)。 若發生溢位,將一種整數類型轉換為另一種整數類型,高階位元會被截斷。 若結果小於 , int32則該值會被符號延伸以填補該欄位。
若在將浮點數型態轉換為整數時發生溢位,回傳的值為未指定。
使用此欄位時不會拋出任何例外。 請參閱 Conv_Ovf_I 和 Conv_Ovf_I_Un ,了解當結果型別無法正確表示結果值時,會拋出例外的等價指令。
以下 Emit 方法的超載可使用操作 conv.i 碼: