語言

OpCodes.Stloc 欄位

定義

從評估堆疊頂端彈出當前值,並將其存入指定索引的本地變數清單中。

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中。

堆疊的過渡行為依序為:

  1. 從堆疊中彈出一個值,並放入本地變數 index。

指令 stloc 會從評估堆疊中彈出頂端的值,並將其移至區域變數編號 index,從此以 0 開始編號。 值的型別必須與目前方法局部簽章中指定的本地變數型態相符。

將整數值儲存在長度小於 4 位元組的本地值中,會讓該值從堆疊移動到本地變數時被截斷。 浮點數值會從其原生大小(型別 F)四捨五入到與參數相關的大小。

正確的Microsoft中介語言(MSIL)指令要求 index 是有效的本地索引。 對於指令 stloc ,必須 index 位於 0 到 65534 的範圍內(具體來說,65535 不適用)。 排除 65535 的原因是務實考量:可能的實作會使用一個 2 位元組的整數來追蹤本地索引以及某方法的總本地數。 若索引為 65535 有效,則需要更寬的整數來追蹤此類方法中的本地數量。

以下 Emit 方法的超載可使用操作 stloc 碼:

適用於