語言

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 

欄位值

備註

下表列出指令的十六進位及 Microsoft 中介語言(MSIL)組合格式,並附有簡短參考摘要:

Format 組裝格式 Description
8F <T> 伊德萊瑪 class 將陣 index 列元素的位址載入到評估堆疊頂端,作為型別 & (管理指標)。

堆疊的過渡行為依序為:

  1. 物件參考 array 會被推入堆疊。

  2. 索引值 index 會被推入堆疊。

  3. index array從堆疊中彈出;儲存在位置index的array位址會被查詢。

  4. 位址會被推送到堆疊上。

ldelema用於在物件陣列(型別為 class)中,取得物件在特定索引處的位址。 指令將ldelema以零為基礎的一維陣列index中,將索引native int(型別array)的值位址載入,並將其置於堆疊頂端。 陣列是物件,因此以型別 O為 的值表示。 該值必須與指令一同傳遞的型別 class 。

的 ldelema 回傳值是一個受管理指標(型別 &)。

請注意,小於 4 位元組的整數值在載入評估堆疊時會被擴展為 int32 (而非 native int)。

NullReferenceException 若 array 為空參考,則拋出。

ArrayTypeMismatchException 若 array 不包含所需類型的元素,則被拋出。

IndexOutOfRangeException 若 index 為負值,或大於 的 array界,則為拋出。

以下 Emit 方法的超載可使用操作 ldelema 碼:

適用於