OpCodes.Stloc 欄位
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從評估堆疊頂端彈出當前值,並將其存入指定索引的本地變數清單中。
public: static initonly System::Reflection::Emit::OpCode Stloc;
public static readonly System.Reflection.Emit.OpCode Stloc;
staticval mutable Stloc : System.Reflection.Emit.OpCode
Public Shared ReadOnly Stloc As OpCode
欄位值
備註
下表列出指令的十六進位及 Microsoft 中介語言(MSIL)組合格式,並附有簡短參考摘要:
| Format | 組裝格式 | Description |
|---|---|---|
FE 0E <unsigned int16> |
STLOC index |
從堆疊中彈出一個值,並儲存在本地變數 index中。 |
堆疊的過渡行為依序為:
- 從堆疊中彈出一個值,並放入本地變數
index。
指令 stloc 會從評估堆疊中彈出頂端的值,並將其移至區域變數編號 index,從此以 0 開始編號。 值的型別必須與目前方法局部簽章中指定的本地變數型態相符。
將整數值儲存在長度小於 4 位元組的本地值中,會讓該值從堆疊移動到本地變數時被截斷。 浮點數值會從其原生大小(型別 F)四捨五入到與參數相關的大小。
正確的Microsoft中介語言(MSIL)指令要求 index 是有效的本地索引。 對於指令 stloc ,必須 index 位於 0 到 65534 的範圍內(具體來說,65535 不適用)。 排除 65535 的原因是務實考量:可能的實作會使用一個 2 位元組的整數來追蹤本地索引以及某方法的總本地數。 若索引為 65535 有效,則需要更寬的整數來追蹤此類方法中的本地數量。
以下 Emit 方法的超載可使用操作 stloc 碼: