Sdílet prostřednictvím


OpCodes.Ldelema Pole

Definice

Načte adresu prvku pole v zadaném indexu pole do horní části zásobníku vyhodnocení jako typ & (spravovaný ukazatel).

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 

Hodnota pole

Poznámky

Následující tabulka uvádí šestnáctkový formát sestavení instrukce a formát sestavení MSIL (Microsoft Intermediate Language) spolu se stručným přehledem referencí:

Formát Formát sestavení Description
8F <T> ldelema class Načte adresu prvku pole v index horní části zásobníku vyhodnocení jako typ & (spravovaný ukazatel).

Přechodné chování zásobníku v sekvenčním pořadí je:

  1. Odkaz na array objekt je vložen do zásobníku.

  2. Hodnota index indexu se vloží do zásobníku.

  3. index a array vyskočily ze zásobníku; adresa uložená na pozici index v array se vyhledá.

  4. Adresa se odešle do zásobníku.

Slouží ldelema k načtení adresy objektu v určitém indexu v poli objektů (typu class). Instrukce ldelema načte adresu hodnoty v indexu index (typ native int) v jednorozměrném poli array založeném na nule a umístí ji do horní části zásobníku. Pole jsou objekty, a proto jsou reprezentované hodnotou typu O. Hodnota musí být typu class předaná v instrukci.

Vrácená hodnota pro ldelema je spravovaný ukazatel (typ &).

Všimněte si, že celočíselné hodnoty menší než 4 bajty jsou při načtení do vyhodnocovacího zásobníku rozšířeny na int32 (ne native int).

NullReferenceException je vyvolán, pokud array je odkaz null.

ArrayTypeMismatchException je vyvolán, pokud array neobsahuje prvky požadovaného typu.

IndexOutOfRangeException je vyvolán, pokud index je záporná nebo větší než mez hodnoty array.

Následující Emit přetížení metody může použít ldelema opcode:

Platí pro