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
フィールド値
注釈
次の表に、命令の 16 進数と Microsoft Intermediate Language (MSIL) アセンブリ形式と、簡単なリファレンスの概要を示します。
形式 | アセンブリ形式 | 説明 |
---|---|---|
FE 0E <unsigned int16 > |
stloc index |
スタックから値をポップし、ローカル変数 index に格納します。 |
スタック遷移の動作は、順番に次のようになります。
- 値はスタックからポップされ、ローカル変数
index
に配置されます。
命令は stloc
、評価スタックから最上位の値をポップし、ローカル変数番号 index
に移動します。ここで、ローカル変数には 0 以降の番号が付けられます。 値の型は、現在のメソッドのローカルシグネチャで指定されているローカル変数の型と一致する必要があります。
長さ 4 バイト未満の整数値を保持するローカルに格納すると、スタックからローカル変数に移動すると、値が切り捨てられます。 浮動小数点値は、ネイティブ サイズ (型 F
) から引数に関連付けられているサイズに丸められます。
正しい Microsoft Intermediate Language (MSIL) の手順では、 index
有効なローカル インデックスである必要があります。 命令の stloc
場合、 index
は 0 ~ 65534 (具体的には 65535 は無効) の範囲である必要があります。 65535 を除外する理由は実用的です。多くの場合、実装では 2 バイトの整数を使用して、ローカルのインデックスと、特定のメソッドのローカルの合計数の両方を追跡します。 65535 のインデックスが有効になっている場合、このようなメソッドのローカルの数を追跡するには、より広い整数が必要になります。
次 Emit のメソッド オーバーロードでは、オペコードを stloc
使用できます。
適用対象
.NET