OpCodes.Ldloc フィールド

定義

特定のインデックスのローカル変数を評価スタックに読み込みます。

public: static initonly System::Reflection::Emit::OpCode Ldloc;
public static readonly System.Reflection.Emit.OpCode Ldloc;
 staticval mutable Ldloc : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldloc As OpCode 

フィールド値

注釈

次の表に、命令の 16 進数およびMicrosoft中間言語 (MSIL) アセンブリ形式と、簡単なリファレンス概要を示します。

形式 アセンブリ形式 説明
FE 0C <unsigned int16> Ldloc index インデックス index 位置のローカル変数をスタックに読み込みます。

スタック遷移の動作は、順番に次のようになります。

  1. 指定したインデックスのローカル変数値がスタックにプッシュされます。

命令は ldloc 、渡されたインデックスにあるローカル変数番号の内容を評価スタックにプッシュします。ここで、ローカル変数には 0 以降の番号が付けられます。 ローカル変数は、メソッドの initialize フラグが true の場合にのみ、メソッドに入る前に 0 に初期化されます。 可能なローカル変数は 65,535 (2^16-1) です (0 から 65,534)。 インデックス 65,535 は無効です。多くの場合、実装では 2 バイトの整数を使用して、ローカルのインデックスと、特定のメソッドのローカルの合計数の両方を追跡します。 65535 のインデックスが有効になっている場合は、このようなメソッドのローカルの数を追跡するために、より広い整数が必要になります。

ldloc.1ldloc.2、および ldloc.3 の各命令はldloc.0、最初の 4 つのローカル変数にアクセスするための効率的なエンコードを提供します。

値の型は、メソッド ヘッダーで指定されているローカル変数の型と同じです。 「パーティション I」を参照してください。4 バイト未満のローカル変数は、スタックに読み込まれるときに型 int32 に拡張されます。 浮動小数点値は、ネイティブ サイズ (型 F) に拡張されます。

Emit のメソッド オーバーロードでは、オペコードを ldloc 使用できます。

適用対象