次の方法で共有


OpCodes.Ldind_R4 フィールド

定義

float32 型の値を F (float) 型として評価スタックに間接的に読み込みます。

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

フィールド値

注釈

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

形式 アセンブリ形式 説明
4E ldind.r4 アドレスaddrの値をfloat32型 としてスタックに読み込みますF

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

  1. アドレスがスタックにプッシュされます。

  2. アドレスはスタックからポップされます。アドレスにある値がフェッチされます。

  3. フェッチされた値がスタックにプッシュされます。

命令はldind.r4、指定されたアドレス (型 、&、または *) から値を型 native intとしてFスタックに間接的に読み込みますfloat32

ldindすべての命令は、対応する組み込み値クラスをLdobj指定する命令のショートカットです。

4 バイト未満の整数値は、評価スタックに int32 読み込まれると ( ではなく native int) に拡張されることに注意してください。 浮動小数点値は、評価スタックに F 読み込まれると型に変換されます。

正しい形式の Microsoft Intermediate Language (MSIL) を使用すると、ポインターの ldind 型と一致する方法で命令が使用されます。

最初にスタックにプッシュされたアドレスは、マシン上のオブジェクトの自然なサイズに合わせる必要があります。または NullReferenceException 、 が発生する可能性があります (予防措置については、プレフィックス命令を参照してください Unaligned )。 アドレス (や など) を返すすべての MSIL 命令の結果は、 LdlocaLdarga安全に調整されます。 1 バイトを超えるデータ型の場合、バイト順序はターゲット CPU に依存します。 バイト順序に依存するコードは、すべてのプラットフォームで実行されない場合があります。

NullReferenceException は、無効なアドレスが検出された場合にスローされる可能性があります。

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

適用対象