Sdílet prostřednictvím


OpCodes.Ldelem_I2 Pole

Definice

Načte element s typem int16 v zadaném indexu pole do horní části zkušebního zásobníku int32jako .

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

Hodnota pole

Poznámky

Následující tabulka uvádí hexadecimální formát sestavení instrukce a formát sestavení MSIL (Microsoft Intermediate Language) spolu se stručným souhrnem referenčních informací:

Formát Formát sestavení Description
92 ldelem.i2 Načte prvek s typem int16 v index horní části zásobníku jako int32.

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

  1. Odkaz na array objekt je nasdílený do zásobníku.

  2. Do zásobníku se nasdílí hodnota index indexu.

  3. index a array vyskakují ze zásobníku. Vyhledá se hodnota uložená na pozici index v array .

  4. Hodnota se nasdílí do zásobníku.

Instrukce ldelem.i2 načte hodnotu elementu s indexem index (typem 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 reprezentovány hodnotou typu O.

Vrácená hodnota pro ldelem.i2 je int16.

Všimněte si, že celočíselné hodnoty menší než 4 bajty se při načtení do zásobníku vyhodnocení rozšíří 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 array.

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

Platí pro