次の方法で共有


OpCodes.Ldelem_I フィールド

指定した配列インデックスの natural int 型の要素を natural int として評価スタックの一番上に読み込みます。

Public Shared ReadOnly Ldelem_I As OpCode
[C#]
public static readonly OpCode Ldelem_I;
[C++]
public: static OpCode Ldelem_I;
[JScript]
public static var Ldelem_I : OpCode;

解説

命令の 16 進数の形式、MSIL (Microsoft Intermediate Language) アセンブリ形式、および簡単な説明の一覧を次の表に示します。

形式 アセンブリ形式 説明
97 ldelem.i index にある natural int 型の要素を natural int としてスタックの一番上に読み込みます。

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

  1. オブジェクト参照 array がスタックにプッシュされます。
  2. インデックス値 index がスタックにプッシュされます。
  3. index と array がスタックからポップされます。array 内の index の位置に格納された値が検索されます。
  4. 値がスタックにプッシュされます。

ldelem.i 命令は、インデックス番号が 0 から始まる 1 次元配列 array 内のインデックス index (natural int 型) を持つ要素の値を読み込み、スタックの一番上に配置します。配列はオブジェクトであるため、 O 型の値によって表されます。

ldelem.i の戻り値は natural int です。

4 バイト未満の整数値は、評価スタックに読み込まれるときに、 natural int ではなく、 int32 に拡張されます。

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

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

index が負の値である場合、または array の上限を超える場合は、 IndexOutOfRangeException がスローされます。

ldelem.i オペコードを使用できる Emit コンストラクタ オーバーロードを次に示します。

  • ILGenerator.Emit(OpCode)

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

OpCodes クラス | OpCodes メンバ | System.Reflection.Emit 名前空間