OpCodes.Stloc Campo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Popa il valore corrente dall'inizio dello stack di valutazione e lo archivia nell'elenco di variabili locali in corrispondenza di un indice specificato.
public: static initonly System::Reflection::Emit::OpCode Stloc;
public static readonly System.Reflection.Emit.OpCode Stloc;
staticval mutable Stloc : System.Reflection.Emit.OpCode
Public Shared ReadOnly Stloc As OpCode
Valore del campo
Commenti
La tabella seguente elenca il formato di assembly MSIL (Intermediate Language) esadecimale e Microsoft istruzione, insieme a un breve riepilogo di riferimento:
| Formato | Formato assembly | Description |
|---|---|---|
FE 0E <unsigned int16> |
stloc index |
Popa un valore dallo stack e lo archivia nella variabile indexlocale . |
Il comportamento transitorio dello stack, in ordine sequenziale, è:
- Un valore viene estratto dallo stack e inserito nella variabile
indexlocale .
L'istruzione stloc inserisce il valore superiore dallo stack di valutazione e lo sposta nel numero indexvariabile locale , dove le variabili locali sono numerate 0 e successive. Il tipo del valore deve corrispondere al tipo della variabile locale come specificato nella firma locale del metodo corrente.
L'archiviazione in variabili locali che contengono un valore intero inferiore a 4 byte tronca il valore durante lo spostamento dallo stack alla variabile locale. I valori a virgola mobile vengono arrotondati dalle dimensioni native (tipo F) alle dimensioni associate all'argomento.
Le istruzioni Microsoft MSIL (Intermediate Language) richiedono che index essere un indice locale valido. Per l'istruzione stloc , index deve trovarsi nell'intervallo compreso tra 0 e 65534 inclusi (in particolare, 65535 non è valido). Il motivo dell'esclusione di 65535 è pragmatico: è probabile che le implementazioni usino un numero intero a 2 byte per tenere traccia sia dell'indice di un locale che del numero totale di variabili locali per un determinato metodo. Se fosse stato reso valido un indice di 65535, sarebbe necessario un intero più ampio per tenere traccia del numero di variabili locali in un metodo di questo tipo.
Gli overload del metodo seguenti Emit possono usare il stloc codice operativo: