Sdílet prostřednictvím


OpCodes.Ldelem_I8 Pole

Definice

Načte element s typem int64 v zadaném indexu pole do horní části zásobníku vyhodnocení jako int64.

public: static initonly System::Reflection::Emit::OpCode Ldelem_I8;
public static readonly System.Reflection.Emit.OpCode Ldelem_I8;
 staticval mutable Ldelem_I8 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldelem_I8 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
96 ldelem.i8 Načte prvek s typem int64 v index horní části zásobníku int64jako .

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 vyjdou ze zásobníku. Vyhledá se hodnota uložená na pozici index v array .

  4. Hodnota se vloží do zásobníku.

Instrukce ldelem.i8 načte hodnotu prvku s indexem index (typ native int) v jednorozměrném poli array založeném na nule a umístí ji na horní část zásobníku. Pole jsou objekty, a proto jsou reprezentované hodnotou typu O.

Vrácená hodnota pro ldelem.i8 je int64.

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 ldelem.i8 opcode:

Platí pro