OpCodes.Ldloc フィールド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
特定のインデックスにあるローカル変数を評価スタックに読み込みます。
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 のローカル変数をスタックに読み込みます。 |
スタック遷移の動作は、順番に次のようになります。
- 指定したインデックスのローカル変数値がスタックにプッシュされます。
ldloc命令は、渡されたインデックスのローカル変数番号の内容を評価スタックにプッシュします。ローカル変数には 0 以降の番号が付けられます。 ローカル変数は、メソッドの初期化フラグが true の場合にのみ、メソッドに入る前に 0 に初期化されます。 可能なローカル変数は 65,535 (2^16-1) です (0 から 65,534)。 インデックス 65,535 は有効ではありません。実装では、ローカルのインデックスと、特定のメソッドのローカルの合計数の両方を追跡するために 2 バイト整数が使用される可能性があるためです。 インデックス 65535 が有効であった場合、このようなメソッドのローカルの数を追跡するには、より広い整数が必要になります。
ldloc.0、ldloc.1、ldloc.2、およびldloc.3命令は、最初の 4 つのローカル変数にアクセスするための効率的なエンコードを提供します。
値の型は、メソッド ヘッダーで指定されているローカル変数の型と同じです。 パーティション I を参照してください。4 バイト未満のローカル変数は、スタックに読み込まれるときに int32 型に展開されます。 浮動小数点値は、ネイティブ サイズ (型 F) に拡張されます。
次の Emit メソッドオーバーロードでは、 ldloc オペコードを使用できます。