OpCodes.Ldind_U4 Campo

Definizione

Carica indirettamente un valore di tipo unsigned int32 come int32 nello stack di valutazione.

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

Valore del campo

Commenti

La tabella seguente elenca il formato dell'assembly esadecimale e Microsoft Intermediate Language (MSIL), insieme a un breve riepilogo di riferimento:

Formato Formato assembly Descrizione
4B ldind.u4 Carica il valore all'indirizzo unsigned int32addr nello stack come int32.

Il comportamento di transizione dello stack, in ordine sequenziale, è:

  1. Un indirizzo viene eseguito il push nello stack.

  2. L'indirizzo viene rimosso dallo stack; il valore che si trova nell'indirizzo viene recuperato.

  3. Il valore recuperato viene eseguito il push nello stack.

L'istruzione ldind.u4 carica indirettamente un unsigned int32 valore dall'indirizzo specificato (di tipo native int, &o *) nello stack come int32.

Tutte le ldind istruzioni sono collegamenti per un'istruzione Ldobj che specifica la classe valore predefinita corrispondente.

Si noti che i valori interi di meno di 4 byte vengono estesi a int32 (non native int) quando vengono caricati nello stack di valutazione. I valori a virgola mobile vengono convertiti in F tipo quando vengono caricati nello stack di valutazione.

Microsoft Intermediate Language (MSIL) formato correttamente garantisce che le ldind istruzioni vengano usate in modo coerente con il tipo del puntatore.

L'indirizzo inizialmente sottoposto a push nello stack deve essere allineato alle dimensioni naturali degli oggetti nel computer o a un NullReferenceException oggetto può verificarsi (vedere l'istruzione Unaligned prefisso per le misure preventive). I risultati di tutte le istruzioni MSIL che restituiscono gli indirizzi (ad esempio, Ldloca e Ldarga) sono allineati in modo sicuro. Per i tipi di dati superiori a 1 byte, l'ordinamento di byte dipende dalla CPU di destinazione. Il codice che dipende dall'ordinamento di byte potrebbe non essere eseguito su tutte le piattaforme.

NullReferenceException può essere generato se viene rilevato un indirizzo non valido.

L'overload del metodo seguente Emit può usare il ldind.u4 codice opcode:

Si applica a