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) アセンブリ形式と、簡単なリファレンス概要を示します。
| フォーマット | アセンブリ形式 | Description |
|---|---|---|
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 オペコードを使用できます。