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 

フィールド値

注釈

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

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

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

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

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

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

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

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

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

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

NullReferenceException は、 array が null 参照である場合にスローされます。

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

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

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

適用対象