OpCodes.Ldind_I4 Pole

Definice

Načte hodnotu typu int32 jako objekt int32 do zkušebního zásobníku nepřímo.

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

Hodnota pole

Poznámky

Následující tabulka uvádí šestnáctkový formát sestavení jazyka MSIL (Intermediate Language) a Microsoft s stručným přehledem referenčních informací:

Formát Formát sestavení Description
4A ldind.i4 Načte int32 hodnotu na adresu addr do zásobníku jako hodnotu int32.

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

  1. Adresa se nasdílí do zásobníku.

  2. Adresa se přepíná ze zásobníku; hodnota umístěná na adrese se načte.

  3. Načtená hodnota se vloží do zásobníku.

Instrukce ldind.i4 nepřímo načte int32 hodnotu ze zadané adresy (typu native int, &nebo *) do zásobníku int32jako .

ldind Všechny pokyny jsou zkratky pro Ldobj instrukce, která určuje odpovídající integrovanou třídu hodnot.

Všimněte si, že celočíselné hodnoty menší než 4 bajty jsou při načtení do zkušebního zásobníku rozšířeny na int32 (ne native int). Hodnoty s plovoucí desetinou čárkou se při načtení do zkušebního zásobníku převedou na F typ.

Správně formátovaný Microsoft intermediate language (MSIL) zajišťuje, aby ldind instrukce byly použity způsobem konzistentním s typem ukazatele.

Adresa původně vložená do zásobníku musí být zarovnaná k přirozené velikosti objektů na počítači nebo NullReferenceException může dojít (viz Unaligned instrukce předpony pro preventivní míry). Výsledky všech pokynů jazyka MSIL, které vrací adresy (například Ldloca a Ldarga) jsou bezpečně zarovnané. U datových typů větších než 1 bajt závisí pořadí bajtů na cílovém procesoru. Kód, který závisí na řazení bajtů, nemusí běžet na všech platformách.

NullReferenceException může být vyvolána, pokud je zjištěna neplatná adresa.

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

Platí pro