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