OpCodes.Ldelema フィールド

定義

指定した配列インデックスにある配列要素のアドレスを & 型 (マネージド ポインター) として評価スタックの一番上に読み込みます。

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

フィールド値

OpCode

注釈

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

形式 アセンブリ形式 説明
8F < T > ldelema class 評価スタックの上部にある配列要素 index のアドレスを型 & (マネージド ポインター) として読み込みます。

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

  1. オブジェクト参照 array がスタックにプッシュされます。

  2. インデックス値 index がスタックにプッシュされます。

  3. indexスタックarrayからポップされます。位置にindex``array格納されているアドレスが検索されます。

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

オブジェクトの ldelema 配列内の特定のインデックスにあるオブジェクトのアドレスを取得するために使用されます (型 class)。 命令はldelema、インデックス (型native int) の値indexのアドレスを 0 から始まる 1 次元配列arrayに読み込み、スタックの先頭に配置します。 配列はオブジェクトであるため、型 Oの値で表されます。 値は、命令で渡される型 class である必要があります。

戻り値 ldelema はマネージド ポインター (型 &) です。

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

NullReferenceException は null 参照の場合 array にスローされます。

ArrayTypeMismatchException は、必要な型の要素を保持していない場合 array にスローされます。

IndexOutOfRangeException が負の場合、または境界より大きい場合 indexarrayスローされます。

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

適用対象