OpCodes.Ldind_I フィールド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
native int
型の値を native int
として評価スタックに間接的に読み込みます。
public: static initonly System::Reflection::Emit::OpCode Ldind_I;
public static readonly System.Reflection.Emit.OpCode Ldind_I;
staticval mutable Ldind_I : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldind_I As OpCode
フィールド値
注釈
次の表に、命令の 16 進数と Microsoft Intermediate Language (MSIL) アセンブリ形式と、簡単な参照の概要を示します。
形式 | アセンブリ形式 | 説明 |
---|---|---|
4D | ldind.i | アドレスaddr の値を native int としてnative int スタックに読み込みます。 |
スタック遷移の動作は、順番に次のようになります。
アドレスがスタックにプッシュされます。
アドレスはスタックからポップされます。アドレスにある値がフェッチされます。
フェッチされた値がスタックにプッシュされます。
命令はldind.i
、指定されたアドレス (型 native int
、&
、または *) から 値を としてスタックnative int
に間接的に読み込みますnative int
。
ldind
すべての命令は、対応する組み込み値クラスをLdobj指定する命令のショートカットです。
評価スタックに読み込まれると、4 バイト未満の整数値は (ではなくnative int
) に拡張int32
されることに注意してください。 浮動小数点値は、評価スタックに F
読み込まれるときに型に変換されます。
正しい形式の Microsoft Intermediate Language (MSIL) を使用すると、ポインターの ldind
型と一致する方法で命令が使用されます。
最初にスタックにプッシュされたアドレスは、マシン上のオブジェクトの自然なサイズに揃える必要があります。または NullReferenceException 、 が発生する可能性があります (予防措置のプレフィックス命令を参照してください Unaligned )。 アドレス (や など) を返すすべての MSIL 命令の結果は、 LdlocaLdarga安全に調整されます。 1 バイトを超えるデータ型の場合、バイト順序はターゲット CPU に依存します。 バイト順序に依存するコードは、すべてのプラットフォームで実行されない場合があります。
NullReferenceException 無効なアドレスが検出された場合にスローされる可能性があります。
次 Emit のメソッド オーバーロードでは、オペコードを ldind.i
使用できます。
適用対象
.NET