Condividi tramite


OpCodes.Ldloc Campo

Definizione

Carica la variabile locale in corrispondenza di un indice specifico nello stack di valutazione.

public: static initonly System::Reflection::Emit::OpCode Ldloc;
public static readonly System.Reflection.Emit.OpCode Ldloc;
 staticval mutable Ldloc : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldloc 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
FE 0C <unsigned int16> ldloc index Carica la variabile locale in corrispondenza dell'indice index nello stack.

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

  1. Il valore della variabile locale in corrispondenza dell'indice specificato viene eseguito il push nello stack.

L'istruzione ldloc esegue il push del contenuto del numero di variabile locale nello stack di valutazione passato, in cui le variabili locali vengono numerate 0 in avanti. Le variabili locali vengono inizializzate a 0 prima di immettere il metodo solo se il flag inizializzato nel metodo è true. Esistono 65.535 (2^16-1) variabili locali possibili (0-65,534). L'indice 65.535 non è valido poiché probabilmente le implementazioni useranno un intero a 2 byte per tenere traccia di un indice locale, insieme al numero totale di locali per un determinato metodo. Se è stato reso valido un indice di 65535, sarebbe necessario un intero più ampio per tenere traccia del numero di locali in tale metodo.

Le ldloc.0istruzioni , , ldloc.1ldloc.2e ldloc.3 forniscono una codifica efficiente per l'accesso alle prime quattro variabili locali.

Il tipo del valore è lo stesso del tipo della variabile locale, specificata nell'intestazione del metodo. Vedere Partizionamento I. Le variabili locali con dimensioni inferiori a 4 byte vengono espanse per digitare int32 quando vengono caricate nello stack. I valori a virgola mobile vengono espansi alle dimensioni native (tipo F).

Gli overload del metodo seguenti Emit possono usare il ldloc codice opcode:

Si applica a