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 Intermediate Language (MSIL) アセンブリ形式と、簡単なリファレンス概要を示します。

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

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

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

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

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

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

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

適用対象